summary refs log tree commit diff
path: root/src/librustc/front
AgeCommit message (Collapse)AuthorLines
2013-03-29Add AbiSet and integrate it into the AST.Niko Matsakis-5/+5
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-26option: rm functions that duplicate methodsDaniel Micay-1/+1
2013-03-22librustc: Remove the `const` declaration form everywherePatrick Walton-3/+3
2013-03-21librustc: Register new snapshotsPatrick Walton-18/+0
2013-03-20add stage3 markers where necessary for dist-snapGraydon Hoare-0/+1
2013-03-19librustc: adjust logic for cfg attribute and add not predicate.Luqman Aden-12/+13
2013-03-18librustc: Make the compiler ignore purity.Patrick Walton-2/+2
For bootstrapping purposes, this commit does not remove all uses of the keyword "pure" -- doing so would cause the compiler to no longer bootstrap due to some syntax extensions ("deriving" in particular). Instead, it makes the compiler ignore "pure". Post-snapshot, we can remove "pure" from the language. There are quite a few (~100) borrow check errors that were essentially all the result of mutable fields or partial borrows of `@mut`. Per discussions with Niko I think we want to allow partial borrows of `@mut` but detect obvious footguns. We should also improve the error message when `@mut` is erroneously reborrowed.
2013-03-18librustc: Convert all uses of old lifetime notation to new lifetime ↵Patrick Walton-3/+19
notation. rs=delifetiming
2013-03-13librustc: Don't accept `as Trait` anymore; fix all occurrences of it.Patrick Walton-9/+9
2013-03-07libsyntax: Stop parsing structural record typesPatrick Walton-2/+2
2013-03-07librustc: Remove "extern mod { ... }" from librustc, librustdoc, and tests. ↵Patrick Walton-4/+8
rs=deexterning
2013-03-06Fix a bug with region-parameterized enums etc where trans consideredNiko Matsakis-2/+4
them to be non-monomorphic. Merely having lifetime parameters is not enough to qualify for that status. Fixes #5243.
2013-03-04Remove unused imports throughout src/Alex Crichton-5/+0
2013-03-02librustc: Remove `fn@`, `fn~`, and `fn&` from librustc. rs=defunPatrick Walton-2/+2
2013-03-02librustc: Forbid chained imports and fix the logic for one-level renaming ↵Patrick Walton-6/+5
imports
2013-02-28Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-3/+3
2013-02-27Introduce lifetime declarations into the lists of type parameters.Niko Matsakis-3/+3
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-25libsyntax: progress on making syntax::visit vecs_implicitly_copyable-freeErick Tryzelaar-23/+31
2013-02-25libsyntax: Convert ast::attribute_ to store a @meta_itemErick Tryzelaar-1/+1
2013-02-21Get rid of structural records in libsyntax and the last bit in librustc.Luqman Aden-10/+8
2013-02-20librustc: Separate most trait bounds with '+'. rs=plussingPatrick Walton-2/+2
2013-02-20librustc: Get rid of structural records save for front/test.rs.Luqman Aden-29/+37
2013-02-19convert ast::meta_items to take @~strsErick Tryzelaar-2/+2
2013-02-19convert syntax::attr to use @~strsErick Tryzelaar-4/+4
2013-02-19libsyntax: change attr:get_attr_name to take a refErick Tryzelaar-1/+1
2013-02-17libsyntax: Update view_item_use/import to reflect actual usageLuqman Aden-4/+5
2013-02-13rustc and std: teach about #[bench], modernize to use quote_expr! some.Graydon Hoare-307/+151
2013-02-07librustc: Lots of de-muting. rs=demutingPatrick Walton-122/+144
2013-02-07Make ~fn non-copyable, make &fn copyable, split barefn/closure types,Niko Matsakis-79/+59
correct handling of moves for struct-record update. Part of #3678. Fixes #2828, #3904, #4719.
2013-01-31test cases, cleanupJohn Clements-7/+10
2013-01-31Workaround for #4717: pad contents of ast. rs=breakageNiko Matsakis-1/+1
2013-01-31Finalize moves-based-on-type implementation.Niko Matsakis-3/+3
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-29librustc: De-export front, borrowck, and typeck/check. rs=deexportingPatrick Walton-9/+4
2013-01-29librustc: De-export back, lib, and util. rs=deexportingPatrick Walton-18/+9
2013-01-29librustc: De-implicit-self the visitor. r=graydonPatrick Walton-66/+66
2013-01-24replace ConstVector trait with the Container traitDaniel Micay-3/+3
2013-01-24librustc: Make C functions unsafePatrick Walton-1/+3
2013-01-20convert the remaining ast record types into structsErick Tryzelaar-29/+39
These are: region,arg,fn_decl,method,_mod,foreign_mod, variant_arg,enum_def_,variant_,trait_ref.
2013-01-20convert ast::ty into a structErick Tryzelaar-14/+26
2013-01-20convert ast::expr into a structErick Tryzelaar-78/+101
2013-01-18Comments: turn XXXes into FIXMEsTim Chevalier-2/+2
2013-01-16Minor cleanup and eliminate a bad copyTim Chevalier-7/+5
2013-01-15Merge pull request #4497 from ILyoan/i4488Brian Anderson-12/+8
When building a test runner, don't remove the main function
2013-01-15when test, just remove #[main] attrILyoan-12/+8
2013-01-14convert ast::{field_,capture_item_,mt} and middle::ty::mt into structsErick Tryzelaar-15/+22
2013-01-14Convert ast::{pat,field_pat,local_,arm} into structsErick Tryzelaar-8/+13
2013-01-14convert ast::crate_ into a struct.Erick Tryzelaar-4/+10
2013-01-14convert ast::attribute_ and ast::view_item to a structErick Tryzelaar-21/+20
2013-01-14convert ast::item into a structErick Tryzelaar-21/+24
2013-01-14Change ast::path into a struct.Erick Tryzelaar-3/+11