summary refs log tree commit diff
path: root/src/libsyntax/ext/base.rs
AgeCommit message (Collapse)AuthorLines
2013-03-28Removing unused importsAlex Crichton-3/+3
2013-03-22librustc: Remove `pure` from libsyntax and librustc.Patrick Walton-5/+5
2013-03-22librustc: Remove all uses of `static` from functions. rs=destaticPatrick Walton-1/+1
2013-03-22syntax: make old `#[deriving_foo]` attribute obsoleteAndrew Paseltiner-3/+3
2013-03-20change some uses of fail_unless to assert_eqJohn Clements-13/+12
2013-03-19syntax: split deriving module into submodules for each traitAndrew Paseltiner-4/+4
2013-03-18librustc: Convert all uses of old lifetime notation to new lifetime ↵Patrick Walton-2/+2
notation. rs=delifetiming
2013-03-13librustc: Don't accept `as Trait` anymore; fix all occurrences of it.Patrick Walton-10/+10
2013-03-12auto merge of #5320 : apasel422/rust/metaderive, r=graydonbors-0/+3
This is the first in a series of patches I'm working on to clean up the code related to `deriving`. This patch allows ``` #[deriving_eq] #[deriving_iter_bytes] #[deriving_clone] struct Foo { bar: uint } ``` to be replaced with: ``` #[deriving(Eq, IterBytes, Clone)] struct Foo { bar: uint } ``` It leaves the old attributes alone for the time being. Eventually I'd like to incorporate the new closest-match-suggestion infrastructure for mistyped trait names, and also pass the sub-attributes to the deriving code, so that the following will be possible: ``` #[deriving(TotalOrd(qux, bar))] struct Foo { bar: uint, baz: char, qux: int } ``` This says to derive an `impl` in which the objects' `qux` fields are compared first, followed by `bar`, while `baz` is ignored in the comparison. If no fields are specified explicitly, all fields will be compared in the order they're defined in the `struct`. This might also be useful for `Eq`. Coming soon.
2013-03-12syntax: implement #[deriving] meta-attributeAndrew Paseltiner-0/+3
2013-03-12Create asm! syntax extension.Luqman Aden-0/+2
2013-03-05auto merge of #5179 : alexcrichton/rust/default-warn-unused-import, r=graydonbors-2/+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-0/+3
2013-03-04Adding missing imports for tests, and gate off othersAlex Crichton-1/+0
2013-03-04Remove unused imports throughout src/Alex Crichton-1/+0
2013-03-02libsyntax: Remove `fn@`, `fn~`, and `fn&` from libsyntax. rs=defunPatrick Walton-7/+17
2013-03-01Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-2/+3
2013-02-28Fix implicit leaks of imports throughout librariesAlex Crichton-2/+3
Also touch up use of 'pub' and move some tests around so the tested functions don't have to be 'pub'
2013-02-27Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-24/+197
2013-02-26libsyntax: remove vecs_implicitly_copyable from the syntax extensionsErick Tryzelaar-8/+7
2013-02-26typo-fixing and name-changesJohn Clements-12/+12
2013-02-26Macros now leave scopeJohn Clements-24/+197
Macro scope is now delimited by function, block, and module boundaries, except for modules that are marked with #[macro_escape], which allows macros to escape.
2013-02-25libsyntax: change eat to take a &tokenErick Tryzelaar-1/+1
2013-02-25libsyntax: convert visit to pass ty_params by referenceErick Tryzelaar-3/+3
2013-02-25libsyntax: Convert ast::attribute_ to store a @meta_itemErick Tryzelaar-1/+1
2013-02-22libsyntax: De-mut the parser. rs=demutingPatrick Walton-1/+1
2013-02-21librustc: De-mut some of transPatrick Walton-8/+8
2013-02-21Get rid of structural records in libsyntax and the last bit in librustc.Luqman Aden-9/+10
2013-02-19convert SyntaxExtensions's key to a @~strErick Tryzelaar-26/+26
2013-02-19Alias HashMap<~str, SyntaxExtension> to SyntaxExtensionsErick Tryzelaar-1/+3
2013-02-15libsyntax: Get rid of uses of `move` and don't parse it.Luqman Aden-1/+1
2013-02-14librustc: Replace `impl Type : Trait` with `impl Trait for Type`. ↵Patrick Walton-1/+1
rs=implflipping
2013-02-13cleanup, fix test caseJohn Clements-1/+1
2013-02-13Commenting, test cases, cleanupJohn Clements-5/+7
2013-02-07librustc: Lots of de-muting. rs=demutingPatrick Walton-55/+57
2013-02-03rename map -> oldmap and mark it as deprecatedDaniel Micay-1/+1
LinearMap is quite a bit faster, and is fully owned/sendable without requiring copies. The older std::map also doesn't use explicit self and relies on mutable fields.
2013-01-31test cases, cleanupJohn Clements-2/+1
2013-01-29libsyntax: De-export libsyntax. rs=deexportingPatrick Walton-23/+25
2013-01-23renaming to adhere to conventionsJohn Clements-33/+33
2013-01-20Convert many libsyntax records into structsErick Tryzelaar-6/+16
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/+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-5/+11
contain at least two components. r=graydon
2012-12-19Remove the old serialization codeErick Tryzelaar-6/+0
Closes #3713.
2012-12-13Begin renaming serialization to std::serialize. (snapshot)Erick Tryzelaar-1/+7
2012-12-12syntax: remove remaining #syntaxext machinery. Close #3516.Graydon Hoare-102/+49
2012-12-12syntax: remove most code handling old-style syntax extensions.Graydon Hoare-13/+4
2012-12-12syntax: remove all remaining uses of #ast, and #ast / qquote itself.Graydon Hoare-2/+0
2012-12-07syntax: fix quote_type! to quote_ty!Graydon Hoare-2/+2