about summary refs log tree commit diff
path: root/src/libsyntax/ext/base.rs
AgeCommit message (Collapse)AuthorLines
2013-05-14Use static string with fail!() and remove fail!(fmt!())Björn Steinbrink-2/+2
fail!() used to require owned strings but can handle static strings now. Also, it can pass its arguments to fmt!() on its own, no need for the caller to call fmt!() itself.
2013-05-11auto merge of #6389 : sonwow/rust/issue-3356, r=bstriebors-1/+1
Fix for #3356
2013-05-10renamed vec::from_slice to vec::to_ownedYoungsoo Son-1/+1
2013-05-09Use a specialized string interner to reduce the need for owned stringsBjörn Steinbrink-3/+3
&str can be turned into @~str on demand, using to_owned(), so for strings, we can create a specialized interner that accepts &str for intern() and find() but stores and returns @~str.
2013-05-05Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freezeNiko Matsakis-11/+1
Conflicts: src/libcore/core.rc src/libcore/hashmap.rs src/libcore/num/f32.rs src/libcore/num/f64.rs src/libcore/num/float.rs src/libcore/num/int-template.rs src/libcore/num/num.rs src/libcore/num/strconv.rs src/libcore/num/uint-template.rs src/libcore/ops.rs src/libcore/os.rs src/libcore/prelude.rs src/libcore/rt/mod.rs src/libcore/unstable/lang.rs src/librustc/driver/session.rs src/librustc/middle/astencode.rs src/librustc/middle/borrowck/check_loans.rs src/librustc/middle/borrowck/gather_loans.rs src/librustc/middle/borrowck/loan.rs src/librustc/middle/borrowck/preserve.rs src/librustc/middle/liveness.rs src/librustc/middle/mem_categorization.rs src/librustc/middle/region.rs src/librustc/middle/trans/base.rs src/librustc/middle/trans/inline.rs src/librustc/middle/trans/reachable.rs src/librustc/middle/typeck/check/_match.rs src/librustc/middle/typeck/check/regionck.rs src/librustc/util/ppaux.rs src/libstd/arena.rs src/libstd/ebml.rs src/libstd/json.rs src/libstd/serialize.rs src/libstd/std.rc src/libsyntax/ast_map.rs src/libsyntax/parse/parser.rs src/test/compile-fail/borrowck-uniq-via-box.rs src/test/compile-fail/regions-infer-borrow-scope-within-loop.rs src/test/run-pass/borrowck-nested-calls.rs
2013-05-04Register snapshotsBrian Anderson-11/+0
2013-05-03Use static stringsJeong YunWon-1/+1
2013-05-02Remove 'Local Variable' commentsBrendan Zabarauskas-10/+0
2013-04-30new borrow checker (mass squash)Niko Matsakis-51/+57
2013-04-30adapt to snapshotNiko Matsakis-11/+0
2013-04-28change stage1,stage2,stage2 into not(stage0)John Clements-3/+1
With luck, this will allow rust to compile itself without --cfg flags again...
2013-04-27only use #[no_core] in libcoreDaniel Micay-3/+0
2013-04-19syntax: de-mode and prepare for de-modeing rustcAlex Crichton-3/+3
2013-04-10Issue #5656: Make &self not mean "&'self self"Niko Matsakis-0/+13
Fixes #5656. Fixes #5541.
2013-04-03rename Linear{Map,Set} => Hash{Map,Set}Daniel Micay-9/+9
2013-04-03hashmap: rm linear namespaceDaniel Micay-2/+2
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