summary refs log tree commit diff
path: root/src/libsyntax/ext/pipes/proto.rs
AgeCommit message (Collapse)AuthorLines
2013-03-22librustc: Remove `pure` from libsyntax and librustc.Patrick Walton-1/+1
2013-03-22syntax: replace uses of old deriving attribute with new oneAndrew Paseltiner-1/+1
2013-03-18librustc: Make the compiler ignore purity.Patrick Walton-2/+6
For bootstrapping purposes, this commit does not remove all uses of the keyword "pure" -- doing so would cause the compiler to no longer bootstrap due to some syntax extensions ("deriving" in particular). Instead, it makes the compiler ignore "pure". Post-snapshot, we can remove "pure" from the language. There are quite a few (~100) borrow check errors that were essentially all the result of mutable fields or partial borrows of `@mut`. Per discussions with Niko I think we want to allow partial borrows of `@mut` but detect obvious footguns. We should also improve the error message when `@mut` is erroneously reborrowed.
2013-03-13librustc: Remove "base types" from the language.Patrick Walton-4/+8
2013-03-13librustc: Don't accept `as Trait` anymore; fix all occurrences of it.Patrick Walton-1/+1
2013-03-11librustc: Replace all uses of `fn()` with `&fn()`. rs=defunPatrick Walton-1/+1
2013-03-04Remove unused imports throughout src/Alex Crichton-1/+0
2013-02-28Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-7/+7
2013-02-27auto merge of #5141 : nikomatsakis/rust/region-syntax-expl-lifetimes, ↵bors-7/+7
r=nikomatsakis Major changes are: - replace ~[ty_param] with Generics structure, which includes both OptVec<TyParam> and OptVec<Lifetime>; - the use of syntax::opt_vec to avoid allocation for empty lists; cc #4846 r? @graydon
2013-02-27Introduce lifetime declarations into the lists of type parameters.Niko Matsakis-7/+7
Major changes are: - replace ~[ty_param] with Generics structure, which includes both OptVec<TyParam> and OptVec<Lifetime>; - the use of syntax::opt_vec to avoid allocation for empty lists; cc #4846
2013-02-27Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-1/+1
2013-02-27librustc: Forbid `pub` or `priv` before trait implementationsPatrick Walton-1/+1
2013-02-26libsyntax: remove vecs_implicitly_copyable from the syntax extensionsErick Tryzelaar-4/+4
2013-02-25libsyntax: add explicit modes where required to copy strs/vecsErick Tryzelaar-3/+3
2013-02-22libsyntax: De-mut the pipe compilerPatrick Walton-22/+19
2013-02-17libsyntax: Explicit-self-ify pipes compiler.Luqman Aden-27/+20
2013-02-17libsyntax: Remove last use of structural records in pipes compiler.Luqman Aden-32/+21
2013-02-15librustc: Stop parsing `impl Type : Trait` and fix several declarations that ↵Patrick Walton-3/+2
slipped through. r=tjc
2013-02-15libsyntax: Get rid of uses of `move` and don't parse it.Luqman Aden-1/+1
2013-02-03core: convert ToStr::to_str to take explicit &selfErick Tryzelaar-2/+2
2013-01-29libsyntax: De-export a lot of libsyntax. rs=deëxportingPatrick Walton-17/+18
2013-01-29libstd: Remove "dual impls" from the language and enforce coherence rules. ↵Patrick Walton-1/+1
r=brson "Dual impls" are impls that are both type implementations and trait implementations. They can lead to ambiguity and so this patch removes them from the language. This also enforces coherence rules. Without this patch, records can implement traits not defined in the current crate. This patch fixes this, and updates all of rustc to adhere to the new enforcement. Most of this patch is fixing rustc to obey the coherence rules, which involves converting a bunch of records to structs.
2013-01-20Convert many libsyntax records into structsErick Tryzelaar-5/+8
Specifically: ast_map::ctx ast_util::id_range diagnostic::{handler_t,codemap_t} auto_encode::field ext::base::{macro_def,syntax_expander_tt,syntax_expander_tt_item} ext::pipes::proto::next_state
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+4
module scope. r=tjc
2013-01-08Revert "librustc: Make unqualified identifier searches terminate at the ↵Patrick Walton-4/+0
nearest module scope. r=tjc" This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+4
module scope. r=tjc
2012-12-27librustc: Terminate name searches at the nearest module scope for paths that ↵Patrick Walton-3/+5
contain at least two components. r=graydon
2012-12-17Change iter::find's closure to take a refErick Tryzelaar-2/+2
2012-12-13librustc: Make `use` statements crate-relative by default. r=brsonPatrick Walton-1/+1
2012-12-04librustc: Remove all legacy pattern bindings from libsyntax and librustc. ↵Patrick Walton-3/+3
rs=refactoring
2012-12-03Update license, add license boilerplate to most files. Remainder will follow.Graydon Hoare-0/+10
2012-11-28Register snapshotsBrian Anderson-15/+0
2012-11-19rustc: Implement explicit self for Eq and Ord. r=graydonPatrick Walton-0/+15
2012-10-15rustc: Merge module and type namespaces. r=brsonPatrick Walton-5/+5
2012-10-11Make to_str pure and fix const parameters for str-mutating functionsTim Chevalier-1/+1
Two separate changes that got intertwined (sorry): Make to_str pure. Closes #3691 In str, change functions like push_char to take an &mut str instead of an &str. Closes #3710
2012-09-28Demoding in iter: any, all, map_to_vec, flat_map_to_vec, filter_to_vecTim Chevalier-2/+2
2012-09-23Register snapshots. Remove redundant Eq impls, Makefile hacksBrian Anderson-14/+0
2012-09-21De-mode vec::map, vec::eachi, vec::rev_each, vec::rev_eachiNiko Matsakis-2/+2
2012-09-20rustc: De-mode all overloaded operatorsPatrick Walton-0/+14
2012-09-19demode the each() method on vec and other iterables.Niko Matsakis-1/+1
2012-09-10Make all moves explicit in libsyntaxTim Chevalier-1/+1
2012-09-10Convert class methods to impl methods. Stop parsing class methodsBrian Anderson-0/+3
2012-09-10rustc: Make shape-based compare glue never called for comparison operators.Patrick Walton-1/+1
Only called for string patterns.
2012-09-07Remove 'let' syntax for struct fieldsBrian Anderson-4/+4
2012-09-07rustc: Add an "ne" method to the Eq trait, and implement it everywherePatrick Walton-0/+1
2012-09-06Remove struct ctorsBrian Anderson-7/+9
2012-09-04libsyntax: "import" -> "use"Patrick Walton-3/+3
2012-08-29rustc: Make `<` and `=` into traitsPatrick Walton-2/+11
2012-08-28Convert core::pipes to camel caseBrian Anderson-2/+2
2012-08-27Camel case various core constructorsBrian Anderson-3/+3