summary refs log tree commit diff
path: root/src/libsyntax/visit.rs
AgeCommit message (Collapse)AuthorLines
2013-09-14Get rid of unused SimpleVisitor stuff.Lindsey Kuper-142/+1
2013-09-09auto merge of #9005 : alexcrichton/rust/rusty-log, r=brsonbors-4/+1
Also redefine all of the standard logging macros to use more rust code instead of custom LLVM translation code. This makes them a bit easier to understand, but also more flexibile for future types of logging. Additionally, this commit removes the LogType language item in preparation for changing how logging is performed.
2013-09-08syntax: implement labelled breaks for `for`.Huon Wilson-2/+1
`for` desugars to `loop` so it is trivial to just desugar to `loop` while retaining any label.
2013-09-05Remove the __log function for __log_levelAlex Crichton-4/+1
Also redefine all of the standard logging macros to use more rust code instead of custom LLVM translation code. This makes them a bit easier to understand, but also more flexibile for future types of logging. Additionally, this commit removes the LogType language item in preparation for changing how logging is performed.
2013-09-03Modernized a few more types in syntax::astMarvin Löbel-78/+78
2013-09-02Renamed syntax::ast::ident -> IdentMarvin Löbel-8/+8
2013-09-01Modernized a few type names in rustc and syntaxMarvin Löbel-10/+10
2013-08-28auto merge of #8718 : bblum/rust/typeof, r=pcwaltonbors-0/+3
r? anybody
2013-08-27librustc: Ensure that type parameters are in the right positions in paths.Patrick Walton-1/+1
This removes the stacking of type parameters that occurs when invoking trait methods, and fixes all places in the standard library that were relying on it. It is somewhat awkward in places; I think we'll probably want something like the `Foo::<for T>::new()` syntax.
2013-08-27librustc: Add support for type parameters in the middle of paths.Patrick Walton-2/+4
For example, `foo::<T>::bar::<U>`. This doesn't enforce that the type parameters are in the right positions, however.
2013-08-23Parse and reserve typeof keyword. #3228Ben Blum-0/+3
2013-08-15Switch to new <V:Visitor> visitor (rather than @Visitor).Felix S. Klock II-136/+200
Alpha-renamed top-level visit_* functions to walk_*. (Motivation: Distinguish visit action and recursive traversal.) Abstract over `&mut self` rather than over `@mut self`. This required some acrobatics, notably the `impl<E> Visitor<E> for @mut Visitor<E>` and corresponding introduction of `@mut Visitor` and some local `let mut` bindings. Remove oldvisit reference. Added default implementations for all of the Visitor trait methods. Note that both `visit_expr_post` and `visit_ty` are no-op's by default, just like they are in `oldvisit::default_visitor`. Refactoring: extract logic to ease swapping visit for oldvisit (hopefully).
2013-08-11libsyntax: Update from `@Object` to `@mut Object` as requiredNiko Matsakis-48/+48
2013-08-04rm obsolete `for` support from the compilerDaniel Micay-1/+0
2013-08-03remove obsolete `foreach` keywordDaniel Micay-40/+40
this has been replaced by `for`
2013-08-02librustc: Disallow "unsafe" for external functionsPatrick Walton-1/+1
2013-08-02librustc: Introduce a new visitor type based on traits and port syntax to it.Patrick Walton-580/+556
This is preparation for removing `@fn`. This does *not* use default methods yet, because I don't know whether they work. If they do, a forthcoming PR will use them. This also changes the precedence of `as`.
2013-08-01migrate many `for` loops to `foreach`Daniel Micay-39/+39
2013-08-01make `in` and `foreach` get treated as keywordsDaniel Micay-2/+2
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-20/+20
blk_check_mode, ty_field, ty_method}
2013-07-22De-spanned<T> and renamed ast::field (now ast::Field)Michael Woerister-1/+1
2013-07-22Ast spanned<T> refactoring, renaming: crate, local, blk, crate_num, crate_cfg.Michael Woerister-18/+18
`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-17librustc: Remove `copy` expressions from the language.Patrick Walton-1/+0
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-129/+148
2013-07-17librustc: Add a lint mode for unnecessary `copy` and remove a bunch of them.Patrick Walton-12/+6
2013-07-17Made ast::blk not use spanned<T> anymore.Michael Woerister-3/+3
2013-07-07De-share ast::TyJames Miller-27/+27
2013-07-07De-manage OptVec<TyParamBounds>James Miller-2/+2
2013-07-07De-share trait_refJames Miller-2/+2
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-8/+8
2013-07-07Stop allocating view_items with @James Miller-6/+6
2013-07-05Remove visit_struct_methodSeo Sanghyeon-12/+0
2013-06-27Remove many shared pointersPhilipp Brüschweiler-14/+14
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-26Infer default static/Owned bounds for unbounded heap fns/traits (#7264)Ben Blum-2/+6
2013-06-25auto merge of #7365 : cmr/rust/syntax_cleanup, r=Aatchbors-2/+0
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-2/+0
2013-06-23Support foreign 'static mut' variables as wellAlex Crichton-1/+1
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-3/+7
2013-06-23vec: remove BaseIter implementationDaniel Micay-30/+30
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-16Add copies to type params with Copy boundNiko Matsakis-99/+113
2013-06-14add IteratorUtil to the preludeDaniel Micay-1/+0
2013-06-12Visitor refactoring: Step 1, couple (Env, vt<Env>) together in a tuple.Felix S. Klock II-286/+272
2013-06-11option: remove redundant old_iter implsDaniel Micay-7/+8
2013-06-04librustc: Disallow multiple patterns from appearing in a "let" declaration.Patrick Walton-5/+1
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-5/+5
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-14syntax: Remove #[allow(vecs_implicitly_copyable)]Alex Crichton-6/+6