summary refs log tree commit diff
path: root/src/libsyntax/ext/expand.rs
AgeCommit message (Collapse)AuthorLines
2013-06-27Remove many shared pointersPhilipp Brüschweiler-2/+2
Mostly just low-haning fruit, i.e. function arguments that were @ even though & would work just as well. Reduces librustc.so size by 200k when compiling without -O, by 100k when compiling with -O.
2013-06-25great renaming propagation: syntaxCorey Richardson-5/+1
2013-06-21vec: rm old_iter implementations, except BaseIterDaniel Micay-3/+3
The removed test for issue #2611 is well covered by the `std::iterator` module itself. This adds the `count` method to `IteratorUtil` to replace `EqIter`.
2013-06-14add IteratorUtil to the preludeDaniel Micay-1/+0
2013-06-13Use @str instead of @~str in libsyntax and librustc. Fixes #5048.Huon Wilson-48/+47
This almost removes the StringRef wrapper, since all strings are Equiv-alent now. Removes a lot of `/* bad */ copy *`'s, and converts several things to be &'static str (the lint table and the intrinsics table). There are many instances of .to_managed(), unfortunately.
2013-06-12Fix a test-predicated use of the visit.rs api.Felix S. Klock II-1/+1
2013-06-12Fix linebreak and whitespace issues to placate make tidy.Felix S. Klock II-1/+2
2013-06-12Visitor refactoring: Step 1, couple (Env, vt<Env>) together in a tuple.Felix S. Klock II-3/+3
2013-06-11option: remove redundant old_iter implsDaniel Micay-1/+3
2013-06-09remove unused import warningsHuon Wilson-10/+8
2013-06-09std: remove fold[lr] in favour of iteratorsHuon Wilson-1/+2
2013-06-06Clean up a handful of build warnings.Michael Sullivan-1/+1
2013-06-05moved TLS of sctable to ast_util, hid parameter in hygiene callsJohn Clements-44/+28
2013-06-05add hygiene support functionsJohn Clements-4/+54
2013-06-05remove unused get_ident_interner'sJohn Clements-3/+2
2013-06-05remove unused cx'sJohn Clements-2/+2
2013-06-05token_to_ident takes argument by referenceJohn Clements-4/+4
2013-06-05interner just uses uints, not idents with syntax contextJohn Clements-7/+7
2013-06-05removed some interner fieldsJohn Clements-1/+1
2013-06-05just use TLS internerJohn Clements-0/+1
2013-06-05rename repr to nameJohn Clements-9/+9
2013-06-05change to newer macro escape mechanism, using uints in more placesJohn Clements-73/+55
2013-06-05add renaming and sctable funsJohn Clements-1/+48
2013-06-04librustc: Disallow multiple patterns from appearing in a "let" declaration.Patrick Walton-6/+16
You can still initialize multiple variables at once with "let (x, y) = (1, 2)".
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-0/+2
2013-05-22syntax: Change syntax extensions to expand to `std::foo` instead of `core::foo`Patrick Walton-13/+13
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-22syntax/ext: modernise ext_ctxt to be CamelCase and use new.Huon Wilson-8/+8
2013-05-20Remove all unnecessary allocations (as flagged by lint)Alex Crichton-4/+3
2013-05-20getting rid of interner_key! macroJohn Clements-1/+1
2013-05-20hygiene infrastructure.John Clements-35/+58
- added a hash table to memoize rename and mark operations. - added rename, mark, and resolve fold fns
2013-05-15Use parentheses for cond! macro instead of preceding pipesBrendan Zabarauskas-4/+4
This is temporary. Once the macro parser has improved or been re-written these can be removed.
2013-05-15Add Scheme-style `cond!` macro to syntax::ext::expandBrendan Zabarauskas-1/+35
Addresses issue #6037
2013-05-14Fix test fallout from removing vecs_implicitly_copyableAlex Crichton-12/+8
2013-05-14Fix cosmetics for fail!() callsMarvin Löbel-1/+1
2013-05-14Use static string with fail!() and remove fail!(fmt!())Björn Steinbrink-3/+3
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-11Warning policeTim Chevalier-2/+0
2013-05-10syntax: Use the new `for` protocolAlex Crichton-12/+2
2013-05-07auto merge of #6271 : pnkfelix/rust/issue6009-condition-pub-priv-variants, ↵bors-0/+15
r=graydon @brson: r? [please ignore the other one that was accidentally based off master due to back-button-bugs in github.com] My goal is to resolve the question of whether we want to encourage (by example) consistent use of pub to make identifiers publicly-accessible, even in syntax extensions. (If people don't want that, then we can just let this pull request die.) This is part one of two. Part two, whose contents should be clear from the FIXME's in this commit, would land after this gets incorporated into a snapshot. (The eventual goal is to address issue #6009 , which was implied by my choice of branch name, but not mentioned in the pull request, so github did not notice it.)
2013-05-06Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freezeNiko Matsakis-0/+36
2013-05-06Step one for 'proper' pub condition: support pub keyword in form.Felix S. Klock II-0/+15
2013-05-06Add assert_approx_eq! macroBrendan Zabarauskas-0/+36
2013-05-05Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freezeNiko Matsakis-9/+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-02Merge remote-tracking branch 'brson/io' into incomingBrian Anderson-1/+1
Conflicts: mk/rt.mk src/libcore/run.rs
2013-05-02Remove 'Local Variable' commentsBrendan Zabarauskas-8/+0
2013-04-30Merge remote-tracking branch 'brson/io'Brian Anderson-1/+1
Conflicts: src/libcore/task/local_data_priv.rs
2013-04-30new borrow checker (mass squash)Niko Matsakis-0/+3
2013-04-27only use #[no_core] in libcoreDaniel Micay-4/+0
2013-04-25Made fail! and assert! accept both &'static str and ~str, as well as a fmt! ↵Marvin Löbel-13/+29
like format list. Unwinding through macros now happens as a call to the trait function `FailWithCause::fail_with()`, which consumes self, allowing to use a more generic failure object in the future.
2013-04-23Merge remote-tracking branch 'brson/io'Brian Anderson-1/+1
This also reverts some changes to TLS that were leaking memory. Conflicts: src/libcore/rt/uv/net.rs src/libcore/task/local_data_priv.rs src/libcore/unstable/lang.rs