about summary refs log tree commit diff
path: root/src/libsyntax/fold.rs
AgeCommit message (Collapse)AuthorLines
2013-08-10std: Rename Iterator.transform -> .mapErick Tryzelaar-5/+5
cc #5898
2013-08-10Mass rename of .consume{,_iter}() to .move_iter()Erick Tryzelaar-1/+1
cc #7887
2013-08-07core: option.map_consume -> option.map_moveErick Tryzelaar-11/+11
2013-08-04rm obsolete `for` support from the compilerDaniel Micay-1/+0
2013-08-03remove obsolete `foreach` keywordDaniel Micay-1/+1
this has been replaced by `for`
2013-08-02librustc: Disallow "unsafe" for external functionsPatrick Walton-2/+1
2013-08-01migrate many `for` loops to `foreach`Daniel Micay-1/+1
2013-08-01make `in` and `foreach` get treated as keywordsDaniel Micay-1/+1
2013-07-30syntax: implement foreach .. in .. { .. } via desugaring.Graydon Hoare-0/+5
2013-07-29New naming convention for ast::{node_id, local_crate, crate_node_id, ↵Michael Woerister-10/+8
blk_check_mode, ty_field, ty_method}
2013-07-22De-spanned<T> and renamed ast::field (now ast::Field)Michael Woerister-6/+4
2013-07-22Ast spanned<T> refactoring, renaming: crate, local, blk, crate_num, crate_cfg.Michael Woerister-23/+23
`crate => Crate` `local => Local` `blk => Block` `crate_num => CrateNum` `crate_cfg => CrateConfig` Also, Crate and Local are not wrapped in spanned<T> anymore.
2013-07-20syntax: modernise attribute handling in syntax::attr.Huon Wilson-14/+13
This does a number of things, but especially dramatically reduce the number of allocations performed for operations involving attributes/ meta items: - Converts ast::meta_item & ast::attribute and other associated enums to CamelCase. - Converts several standalone functions in syntax::attr into methods, defined on two traits AttrMetaMethods & AttributeMethods. The former is common to both MetaItem and Attribute since the latter is a thin wrapper around the former. - Deletes functions that are unnecessary due to iterators. - Converts other standalone functions to use iterators and the generic AttrMetaMethods rather than allocating a lot of new vectors (e.g. the old code would have to allocate a new vector to use functions that operated on &[meta_item] on &[attribute].) - Moves the core algorithm of the #[cfg] matching to syntax::attr, similar to find_inline_attr and find_linkage_metas. This doesn't have much of an effect on the speed of #[cfg] stripping, despite hugely reducing the number of allocations performed; presumably most of the time is spent in the ast folder rather than doing attribute checks. Also fixes the Eq instance of MetaItem_ to correctly ignore spaces, so that `rustc --cfg 'foo(bar)'` now works.
2013-07-17libsyntax: Remove some multi-gigabyte clones that were preventing ↵Patrick Walton-2/+2
bootstrapping on Windows.
2013-07-17librustc: Remove `copy` expressions from the language.Patrick Walton-1/+0
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-18/+21
2013-07-17librustc: Add a lint mode for unnecessary `copy` and remove a bunch of them.Patrick Walton-11/+15
2013-07-17Made ast::blk not use spanned<T> anymore.Michael Woerister-6/+6
2013-07-07Fix broken testsJames Miller-3/+3
2013-07-07De-share ast::TyJames Miller-24/+24
2013-07-07De-manage OptVec<TyParamBounds>James Miller-4/+5
2013-07-07De-share trait_refJames Miller-6/+6
Also, makes the pretty-printer use & instead of @ as much as possible, which will help with later changes, though in the interim has produced some... interesting constructs.
2013-07-07De-managed ast::PathJames Miller-13/+13
2013-07-07Stop allocating view_items with @James Miller-7/+6
2013-07-04Remove vec::{filter, filtered, filter_map, filter_mapped}, replaced by ↵Huon Wilson-3/+1
iterators.
2013-06-30Remove vec::{map, mapi, zip_map} and the methods, except for .map, since thisHuon Wilson-7/+6
is very common, and the replacement (.iter().transform().collect()) is very ugly.
2013-06-26Infer default static/Owned bounds for unbounded heap fns/traits (#7264)Ben Blum-3/+8
2013-06-25great renaming propagation: syntaxCorey Richardson-4/+1
2013-06-23Support foreign 'static mut' variables as wellAlex Crichton-2/+2
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/+3
2013-06-23vec: remove BaseIter implementationDaniel Micay-1/+1
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-16remove unused importsHuon Wilson-1/+1
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-06implement fold traversing macrosJohn Clements-3/+38
2013-06-06add test cases for fold traversing macrosJohn Clements-0/+72
2013-06-04librustc: Disallow multiple patterns from appearing in a "let" declaration.Patrick Walton-23/+46
You can still initialize multiple variables at once with "let (x, y) = (1, 2)".
2013-06-01syntax: move callee_id into the expr_ variantsErick Tryzelaar-9/+29
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-0/+2
2013-05-29libsyntax: Stop parsing mutable fieldsPatrick Walton-1/+0
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-18minor automated whitespace fixesDaniel Micay-1/+0
2013-05-16Add BuiltinBounds to closure type: parse and handle subtyping,Niko Matsakis-0/+1
but do not integrate with kindck etc (requires a snapshot first)
2013-05-14rustc: rename ast::self_ty and related fields to explicit_selfErick Tryzelaar-1/+1
2013-05-14syntax: Remove #[allow(vecs_implicitly_copyable)]Alex Crichton-12/+12
2013-05-12librustc: Make `self` and `static` into keywordsPatrick Walton-0/+1
2013-05-10Remove the '<->' operator from the languageAlex Crichton-3/+0
2013-05-08libcore: Fix more merge fallout.Patrick Walton-0/+1
2013-05-02Remove 'Local Variable' commentsBrendan Zabarauskas-10/+0
2013-05-01allow parsing attributes on struct fieldsErick Tryzelaar-1/+6