summary refs log tree commit diff
path: root/src/libsyntax/fold.rs
AgeCommit message (Collapse)AuthorLines
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
2013-05-01rustc: remove the rest of dropErick Tryzelaar-26/+0
Removes: ast::struct_def::dtor syntax::ast::ii_dtor syntax::visit::fk_dtor syntax::ast_map::node_dtor syntax:struct_dtor
2013-04-29librustc: Forbid type implementations on typedefs.Patrick Walton-1/+5
2013-04-29librustc: Remove the concept of modes from the compiler.Patrick Walton-1/+0
This commit does not remove `ty::arg`, although that should be possible to do now.
2013-04-27only use #[no_core] in libcoreDaniel Micay-4/+0
2013-04-10path -> PathJohn Clements-5/+5
2013-04-05Refactor so that references to traits are not represented using a type with aNiko Matsakis-1/+1
bare function store (which is not in fact a kind of value) but rather ty::TraitRef. Removes many uses of fail!() and other telltale signs of type-semantic mismatch. cc #4183 (not a fix, but related)
2013-03-29Add AbiSet and integrate it into the AST.Niko Matsakis-3/+4
I believe this patch incorporates all expected syntax changes from extern function reform (#3678). You can now write things like: extern "<abi>" fn foo(s: S) -> T { ... } extern "<abi>" mod { ... } extern "<abi>" fn(S) -> T The ABI for foreign functions is taken from this syntax (rather than from an annotation). We support the full ABI specification I described on the mailing list. The correct ABI is chosen based on the target architecture. Calls by pointer to C functions are not yet supported, and the Rust type of crust fns is still *u8.
2013-03-28auto merge of #5593 : luqmana/rust/inline-asm, r=catamorphismbors-7/+6
Clean things up a bit. Also, allow selecting intel syntax in addition to the default AT&T dialect.
2013-03-28librustc: Remove common fields and nested enums from the languagePatrick Walton-14/+0
2013-03-27auto merge of #5578 : erickt/rust/incoming, r=jbclements,ericktbors-2/+1
Hey folks, This patch series does some work on the json decoder, specifically with auto decoding of enums. Previously, we would take this code: ``` enum A { B, C(~str, uint) } ``` and would encode a value of this enum to either `["B", []]` or `["C", ["D", 123]]`. I've changed this to `"B"` or `["C", "D", 123]`. This matches the style of the O'Caml json library [json-wheel](http://mjambon.com/json-wheel.html). I've added tests to make sure all this work. In order to make this change, I added passing a `&[&str]` vec to `Decode::emit_enum_variant` so the json decoder can convert the name of a variant into it's position. I also changed the impl of `Encodable` for `Option<T>` to have the right upper casing. I also did some work on the parser, which allows for `fn foo<T: ::cmp::Eq>() { ... }` statements (#5572), fixed the pretty printer properly expanding `debug!("...")` expressions, and removed `ast::expr_vstore_fixed`, which doesn't appear to be used anymore.
2013-03-27libsyntax: Allow selecting intel style asm.Luqman Aden-4/+1
2013-03-27libsyntax: use a struct for inline asm in ast.Luqman Aden-7/+9
2013-03-27Fix pretty-printer test failure by carrying the bound lifetime names throughNiko Matsakis-0/+1
the types. Initially I thought it would be necessary to thread this data through not only the AST but the types themselves, but then I remembered that the pretty printer only cares about the AST. Regardless, I have elected to leave the changes to the types intact since they will eventually be needed. I left a few FIXMEs where it didn't seem worth finishing up since the code wasn't crucial yet.
2013-03-27syntax: fix pretty printing __log stmtsErick Tryzelaar-2/+1
2013-03-26librustc: Modify all code to use new lifetime binder syntaxPatrick Walton-1/+2
2013-03-26option: rm functions that duplicate methodsDaniel Micay-4/+3
2013-03-18Now actually allow using constants in those constant expressions for [T * n].Luqman Aden-2/+2
2013-03-15Actually pass inline asm operands around.Luqman Aden-1/+8
2013-03-13librustc: Don't accept `as Trait` anymore; fix all occurrences of it.Patrick Walton-24/+24
2013-03-12Parse inline assembly.Luqman Aden-0/+1
2013-03-11libsyntax: Remove newtype enums from libsyntax. rs=deenumPatrick Walton-13/+8
2013-03-11Implement vector destructuring from tailSeo Sanghyeon-3/+4
2013-03-07librustc: Stop parsing `assert`.Patrick Walton-1/+0
2013-03-07librustc: Remove record patterns from the compilerPatrick Walton-9/+0
2013-03-07libsyntax: Remove struct literal expressions from the compilerPatrick Walton-6/+0