| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2013-03-29 | Add 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-28 | auto merge of #5593 : luqmana/rust/inline-asm, r=catamorphism | bors | -7/+6 | |
| Clean things up a bit. Also, allow selecting intel syntax in addition to the default AT&T dialect. | ||||
| 2013-03-28 | librustc: Remove common fields and nested enums from the language | Patrick Walton | -14/+0 | |
| 2013-03-27 | auto merge of #5578 : erickt/rust/incoming, r=jbclements,erickt | bors | -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-27 | libsyntax: Allow selecting intel style asm. | Luqman Aden | -4/+1 | |
| 2013-03-27 | libsyntax: use a struct for inline asm in ast. | Luqman Aden | -7/+9 | |
| 2013-03-27 | Fix pretty-printer test failure by carrying the bound lifetime names through | Niko 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-27 | syntax: fix pretty printing __log stmts | Erick Tryzelaar | -2/+1 | |
| 2013-03-26 | librustc: Modify all code to use new lifetime binder syntax | Patrick Walton | -1/+2 | |
| 2013-03-26 | option: rm functions that duplicate methods | Daniel Micay | -4/+3 | |
| 2013-03-18 | Now actually allow using constants in those constant expressions for [T * n]. | Luqman Aden | -2/+2 | |
| 2013-03-15 | Actually pass inline asm operands around. | Luqman Aden | -1/+8 | |
| 2013-03-13 | librustc: Don't accept `as Trait` anymore; fix all occurrences of it. | Patrick Walton | -24/+24 | |
| 2013-03-12 | Parse inline assembly. | Luqman Aden | -0/+1 | |
| 2013-03-11 | libsyntax: Remove newtype enums from libsyntax. rs=deenum | Patrick Walton | -13/+8 | |
| 2013-03-11 | Implement vector destructuring from tail | Seo Sanghyeon | -3/+4 | |
| 2013-03-07 | librustc: Stop parsing `assert`. | Patrick Walton | -1/+0 | |
| 2013-03-07 | librustc: Remove record patterns from the compiler | Patrick Walton | -9/+0 | |
| 2013-03-07 | libsyntax: Remove struct literal expressions from the compiler | Patrick Walton | -6/+0 | |
| 2013-03-07 | librustc: Remove structural record types from the compiler | Patrick Walton | -1/+0 | |
| 2013-03-03 | libsyntax: deny deprecated_self in libsyntax | Erick Tryzelaar | -2/+2 | |
| 2013-03-02 | librustc: Stop parsing `fn@`, `fn~`, and `fn&` | Patrick Walton | -8/+0 | |
| 2013-03-02 | libsyntax: Remove `fn@`, `fn~`, and `fn&` from libsyntax. rs=defun | Patrick Walton | -35/+34 | |
| 2013-03-01 | Merge remote-tracking branch 'remotes/origin/incoming' into incoming | Erick Tryzelaar | -115/+124 | |
| 2013-02-28 | Remove legacy object creation mode, and convert remaining uses of it | Niko Matsakis | -108/+113 | |
| 2013-02-28 | Fix implicit leaks of imports throughout libraries | Alex Crichton | -1/+2 | |
| Also touch up use of 'pub' and move some tests around so the tested functions don't have to be 'pub' | ||||
| 2013-02-28 | Merge remote-tracking branch 'remotes/origin/incoming' into incoming | Erick Tryzelaar | -30/+40 | |
| 2013-02-27 | auto merge of #5141 : nikomatsakis/rust/region-syntax-expl-lifetimes, ↵ | bors | -16/+33 | |
| r=nikomatsakis Major changes are: - replace ~[ty_param] with Generics structure, which includes both OptVec<TyParam> and OptVec<Lifetime>; - the use of syntax::opt_vec to avoid allocation for empty lists; cc #4846 r? @graydon | ||||
| 2013-02-27 | Introduce lifetime declarations into the lists of type parameters. | Niko Matsakis | -16/+33 | |
| Major changes are: - replace ~[ty_param] with Generics structure, which includes both OptVec<TyParam> and OptVec<Lifetime>; - the use of syntax::opt_vec to avoid allocation for empty lists; cc #4846 | ||||
| 2013-02-27 | Merge remote-tracking branch 'remotes/origin/incoming' into incoming | Erick Tryzelaar | -1/+1 | |
| 2013-02-27 | librustc: Forbid `pub` or `priv` before trait implementations | Patrick Walton | -1/+1 | |
| 2013-02-26 | libsyntax: add some explicit refs | Erick Tryzelaar | -6/+6 | |
| 2013-02-25 | libsyntax: add some explicit copies | Erick Tryzelaar | -1/+1 | |
| 2013-02-25 | libsyntax: progress on making syntax::visit vecs_implicitly_copyable-free | Erick Tryzelaar | -384/+465 | |
| 2013-02-25 | libsyntax: Convert ast::attribute_ to store a @meta_item | Erick Tryzelaar | -1/+1 | |
| 2013-02-19 | libsyntax: make enum variants take refs | Erick Tryzelaar | -21/+23 | |
| 2013-02-19 | syntax: fix the indentation of a function | Erick Tryzelaar | -36/+36 | |
| 2013-02-15 | librustc: Stop parsing `impl Type : Trait` and fix several declarations that ↵ | Patrick Walton | -1/+1 | |
| slipped through. r=tjc | ||||
| 2013-02-15 | libsyntax: Get rid of uses of `move` and don't parse it. | Luqman Aden | -1/+1 | |
| 2013-02-07 | Make ~fn non-copyable, make &fn copyable, split barefn/closure types, | Niko Matsakis | -5/+10 | |
| correct handling of moves for struct-record update. Part of #3678. Fixes #2828, #3904, #4719. | ||||
| 2013-02-01 | Remove fail keyword from lexer & parser and clean up remaining calls to | Nick Desaulniers | -1/+0 | |
| fail Fix merge conflicts - Issue 4524 | ||||
| 2013-01-31 | Workaround for #4717: pad contents of ast. rs=breakage | Niko Matsakis | -2/+3 | |
| 2013-01-31 | Finalize moves-based-on-type implementation. | Niko Matsakis | -20/+7 | |
| Changes: - Refactor move mode computation - Removes move mode arguments, unary move, capture clauses (though they still parse for backwards compatibility) - Simplify how moves are handled in trans - Fix a number of illegal copies that cropped up - Workaround for bug involving def-ids in params (see details below) Future work (I'll open bugs for these...): - Improve error messages for moves that are due to bindings - Add support for moving owned content like a.b.c to borrow check, test in trans (but I think it'll "just work") - Proper fix for def-ids in params Def ids in params: Move captures into a map instead of recomputing. This is a workaround for a larger bug having to do with the def-ids associated with ty_params, which are not always properly preserved when inlining. I am not sure of my preferred fix for the larger bug yet. This current fix removes the only code in trans that I know of which relies on ty_param def-ids, but feels fragile. | ||||
| 2013-01-29 | libsyntax: De-export libsyntax. rs=deexporting | Patrick Walton | -38/+19 | |
| 2013-01-22 | Add is_mutbl field to arg | Seo Sanghyeon | -0/+1 | |
| 2013-01-20 | convert the remaining ast record types into structs | Erick Tryzelaar | -44/+63 | |
| These are: region,arg,fn_decl,method,_mod,foreign_mod, variant_arg,enum_def_,variant_,trait_ref. | ||||
| 2013-01-20 | convert ast::{ty_field_,ty_method} into a struct | Erick Tryzelaar | -3/+7 | |
| 2013-01-20 | convert ast::ty into a struct | Erick Tryzelaar | -1/+5 | |
| 2013-01-20 | convert ast::expr into a struct | Erick Tryzelaar | -4/+6 | |
| 2013-01-14 | convert ast::{field_,capture_item_,mt} and middle::ty::mt into structs | Erick Tryzelaar | -11/+23 | |
