summary refs log tree commit diff
path: root/src/libsyntax/ast_util.rs
AgeCommit message (Collapse)AuthorLines
2013-06-30Remove vec::{map, mapi, zip_map} and the methods, except for .map, since thisHuon Wilson-1/+1
is very common, and the replacement (.iter().transform().collect()) is very ugly.
2013-06-29Remove mutability from unique boxes in the ASTAlex Crichton-1/+1
2013-06-29'Borrow' stack closures rather than copying them (e.g., "|x|f(x)"), in prep ↵Ben Blum-5/+5
for making them noncopyable.
2013-06-29Use more deriving(IterBytes) in libsyntax.Ben Blum-9/+0
2013-06-29Change taskgroup key type to fn:Copy in prep for noncopyable stack closures.Ben Blum-1/+1
2013-06-28librustc: Rewrite reachability and forbid duplicate methods in type ↵Patrick Walton-1/+1
implementations. This should allow fewer symbols to be exported.
2013-06-28librustc: Disallow "mut" from distributing over bindings.Patrick Walton-0/+9
This is the backwards-incompatible part of per-binding-site "mut".
2013-06-27Remove many shared pointersPhilipp Brüschweiler-3/+3
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-25auto merge of #7365 : cmr/rust/syntax_cleanup, r=Aatchbors-9/+7
Sets the stage for further cleanup (especially mass-slaughter of `@`)
2013-06-25remove the redundant `each` method from OptVecDaniel Micay-2/+2
2013-06-25great renaming propagation: syntaxCorey Richardson-9/+7
2013-06-23Add 'static mut' items to the languageAlex Crichton-1/+1
2013-06-23Parse and typecheck (not kindcheck) bounds on trait paths.Ben Blum-1/+1
2013-06-23vec: remove BaseIter implementationDaniel Micay-8/+8
I removed the `static-method-test.rs` test because it was heavily based on `BaseIter` and there are plenty of other more complex uses of static methods anyway.
2013-06-18replace #[inline(always)] with #[inline]. r=burningtree.Graydon Hoare-1/+1
2013-06-16Add copies to type params with Copy boundNiko Matsakis-26/+26
2013-06-14add IteratorUtil to the preludeDaniel Micay-2/+0
2013-06-13Use @str instead of @~str in libsyntax and librustc. Fixes #5048.Huon Wilson-2/+2
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-12Visitor refactoring: Step 1, couple (Env, vt<Env>) together in a tuple.Felix S. Klock II-30/+30
2013-06-11option: remove redundant old_iter implsDaniel Micay-4/+8
2013-06-11fix tests, remove some warningsHuon Wilson-1/+0
2013-06-10std: remove str::{connect,concat}*.Huon Wilson-1/+1
2013-06-09remove unused import warningsHuon Wilson-1/+1
2013-06-09std: remove foldr and alli methods in vecHuon Wilson-2/+3
2013-06-05moved TLS of sctable to ast_util, hid parameter in hygiene callsJohn Clements-37/+75
2013-06-05removed unused imports (and one unused argument)John Clements-2/+1
2013-06-05interner just uses uints, not idents with syntax contextJohn Clements-1/+1
2013-06-05rename repr to nameJohn Clements-9/+9
2013-06-04librustc: Disallow multiple patterns from appearing in a "let" declaration.Patrick Walton-1/+2
You can still initialize multiple variables at once with "let (x, y) = (1, 2)".
2013-06-01auto merge of #6807 : catamorphism/rust/rustpkg-extern-mod, r=catamorphismbors-0/+15
r? @graydon Addresses #5681
2013-06-01syntax: Add an each_view_item method on traitsTim Chevalier-0/+15
2013-06-01syntax: move callee_id into the expr_ variantsErick Tryzelaar-2/+4
2013-06-01Remove all uses of `pub impl`. rs=stylePatrick Walton-6/+8
2013-05-30Remove copy bindings from patterns.Niko Matsakis-1/+1
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-2/+5
2013-05-28Move checking for moves and initialization of local variables and patterns intoNiko Matsakis-18/+13
borrow checker and generalize what moves are allowed. Fixes a nasty bug or two in the pattern move checking code. Unifies dataflow code used for initialization and other things. First step towards once fns. Everybody wins. Fixes #4384. Fixes #4715. cc once fns (#2202), optimizing local moves (#5016).
2013-05-27Prevent refcount cycles during lintingAlex Crichton-43/+66
Shaves off ~600MB of memory while compiling rustc
2013-05-23core: remove iter_bytes helper functionsErick Tryzelaar-1/+1
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-20Remove all unnecessary allocations (as flagged by lint)Alex Crichton-1/+1
2013-05-20hygiene infrastructure.John Clements-41/+93
- added a hash table to memoize rename and mark operations. - added rename, mark, and resolve fold fns
2013-05-19Register snapshotsBrian Anderson-9/+0
2013-05-17Re-implement lint with less emphasis on item idsAlex Crichton-1/+6
This way it's much easier to add lints throughout compilation correctly, and functions on impls can alter the way lints are emitted.
2013-05-16syntax: deprecate #[auto_{en,de}code] in favour of #[deriving({En,De}codable)].Huon Wilson-2/+1
Replace all instances of #[auto_*code] with the appropriate #[deriving] attribute and remove the majority of the actual code, leaving stubs to refer the user to the new syntax.
2013-05-14rustc: rename ast::self_ty and related fields to explicit_selfErick Tryzelaar-1/+1
2013-05-14Fix test fallout from removing vecs_implicitly_copyableAlex Crichton-8/+8
2013-05-14Use static string with fail!() and remove fail!(fmt!())Björn Steinbrink-1/+1
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-10syntax: Use the new `for` protocolAlex Crichton-0/+9
2013-05-09libsyntax: rename vec::each(var) to var.eachYoungmin Yoo-1/+1
2013-05-08librustc: Remove mutable fields from the language.Patrick Walton-1/+1
They're still parsed though, to get through bootstrapping.