about summary refs log tree commit diff
path: root/src/libsyntax/ext/deriving.rs
AgeCommit message (Collapse)AuthorLines
2013-03-19syntax: move ext/deriving.rs to ext/deriving/mod.rsAndrew Paseltiner-1267/+0
2013-03-19auto merge of #5426 : nikomatsakis/rust/issue-4846-lifetimes-in-expl-self, ↵bors-3/+3
r=pcwalton (this will be needed for snapshotting at some point) r? @pcwalton
2013-03-18librustc: Make the compiler ignore purity.Patrick Walton-2/+2
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-18librustc: Convert all uses of old lifetime notation to new lifetime ↵Patrick Walton-2/+2
notation. rs=delifetiming
2013-03-18Make &self permit explicit lifetimes, but don't really use themNiko Matsakis-3/+3
(this will be needed for snapshotting at some point).
2013-03-13librustc: Don't accept `as Trait` anymore; fix all occurrences of it.Patrick Walton-38/+38
2013-03-12syntax: implement #[deriving] meta-attributeAndrew Paseltiner-0/+42
2013-03-09Remove @ast::Region and replace with @ast::Lifetime.Niko Matsakis-3/+2
Modify pretty-printer to emit lifetimes and fix a few minor parser bugs that this uncovered.
2013-03-08syntax: Remove uses of DVecAlex Crichton-15/+9
2013-03-06Add manual &self/ and &static/ and /&self declarations thatNiko Matsakis-12/+10
are currently inferred. New rules are coming that will require them to be explicit. All add some explicit self declarations.
2013-03-05auto merge of #5179 : alexcrichton/rust/default-warn-unused-import, r=graydonbors-1/+0
I've found that unused imports can often start cluttering a project after a long time, and it's very useful to keep them under control. I don't like how Go forces a compiler error by default and it can't be changed, but I certainly want to know about them so I think that a warn is a good default. Now that the `unused_imports` lint option is a bit smarter, I think it's possible to change the default level to warn. This commit also removes all unused imports throughout the compiler and libraries (500+). The only odd things that I ran into were that some `use` statements had to have `#[cfg(notest)]` or `#[cfg(test)]` based on where they were. The ones with `notest` were mostly in core for modules like `cmp` whereas `cfg(test)` was for tests that weren't part of a normal `mod test` module.
2013-03-04libsyntax: Implement `#[deriving_clone]`Patrick Walton-16/+285
2013-03-04Remove unused imports throughout src/Alex Crichton-1/+0
2013-03-01Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-1/+1
2013-02-28librustc: Mark all type implementations public. rs=impl-publicityPatrick Walton-1/+1
2013-02-28Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-47/+65
2013-02-27Introduce lifetime declarations into the lists of type parameters.Niko Matsakis-47/+65
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-26libsyntax: add some more explicit copiesErick Tryzelaar-1/+1
2013-02-26libsyntax: remove vecs_implicitly_copyable from the syntax extensionsErick Tryzelaar-2/+2
2013-02-25libsyntax: Convert ast::attribute_ to store a @meta_itemErick Tryzelaar-2/+2
2013-02-21Implement #[deriving_eq] on tuple like structsSeth Pink-14/+89
2013-02-15libsyntax: Get rid of uses of `move` and don't parse it.Luqman Aden-41/+41
2013-01-31test cases, cleanupJohn Clements-2/+2
2013-01-28Link the lifetimes of regions resulting from borrows of theNiko Matsakis-1/+2
contents of other borrowed pointers to the lifetimes of the borrowed value. Fixes #3148. r=catamorphism
2013-01-20convert the remaining ast record types into structsErick Tryzelaar-5/+5
These are: region,arg,fn_decl,method,_mod,foreign_mod, variant_arg,enum_def_,variant_,trait_ref.
2013-01-20convert ast::ty into a structErick Tryzelaar-6/+10
2013-01-14convert ast::{field_,capture_item_,mt} and middle::ty::mt into structsErick Tryzelaar-1/+4
2013-01-14Convert ast::{pat,field_pat,local_,arm} into structsErick Tryzelaar-27/+19
2013-01-14convert ast::item into a structErick Tryzelaar-1/+1
2013-01-14Change ast::path into a struct.Erick Tryzelaar-1/+2
2013-01-10librustc: Implement `&static` as the replacement for `Durable`. r=nmatsakisPatrick Walton-8/+8
2013-01-09syntax: convert ast::spanned into a structErick Tryzelaar-6/+6
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+2
module scope. r=tjc
2013-01-08Revert "librustc: Make unqualified identifier searches terminate at the ↵Patrick Walton-2/+0
nearest module scope. r=tjc" This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+2
module scope. r=tjc
2012-12-27librustc: Terminate name searches at the nearest module scope for paths that ↵Patrick Walton-2/+8
contain at least two components. r=graydon
2012-12-13libsyntax: Implement `deriving` for struct-like enum variants. r=brsonPatrick Walton-16/+48
2012-12-13librustc: Make `use` statements crate-relative by default. r=brsonPatrick Walton-1/+1
2012-12-11fix long line, r=tidypolice.Graydon Hoare-3/+4
2012-12-11Fix deriving for single-variant enumsBrian Anderson-20/+24
2012-12-10Remove un-needed code for obsolete classesTim Chevalier-2/+2
and rename "class" to "struct" everywhere possible (except local vars, I was too lazy for that) -- that is why this commit is so big. No review, just dead code removal and renaming. Closes #3515
2012-12-07Remove impl_id from trait_ref. UnusedBrian Anderson-2/+1
2012-12-03Update license, add license boilerplate to most files. Remainder will follow.Graydon Hoare-0/+10
2012-11-28librustc: Add explicit self to IterBytes. r=nmatsakisPatrick Walton-1/+2
2012-11-21libsyntax: Implement `deriving` correctly for type-parameterized structs and ↵Patrick Walton-61/+139
enums. r=brson
2012-11-21libsyntax: Implement deriving via a syntax extension for the `IterBytes` ↵Patrick Walton-123/+366
trait. r=brson
2012-11-21libsyntax: Fix duplication of items that occurs if `#[deriving_eq]` is ↵Patrick Walton-1/+1
applied to a non-enum/non-struct. r=brson
2012-11-21libsyntax: Implement `deriving` for enums with N-ary variants. r=brsonPatrick Walton-38/+140
2012-11-20libsyntax: Long line. rs=make-tidyPatrick Walton-1/+1
2012-11-20rustc: Implement "deriving" for monomorphic structs via a syntax extension. ↵Patrick Walton-0/+394
r=brson