summary refs log tree commit diff
path: root/src/librustc/middle/check_loop.rs
AgeCommit message (Collapse)AuthorLines
2013-03-02librustc: Stop parsing `fn@`, `fn~`, and `fn&`Patrick Walton-6/+0
2013-02-25libsyntax: progress on making syntax::visit vecs_implicitly_copyable-freeErick Tryzelaar-5/+5
2013-02-20librustc: tidyLuqman Aden-1/+1
2013-02-20librustc: Get rid of structural records save for front/test.rs.Luqman Aden-9/+24
2013-02-07Make ~fn non-copyable, make &fn copyable, split barefn/closure types,Niko Matsakis-2/+2
correct handling of moves for struct-record update. Part of #3678. Fixes #2828, #3904, #4719.
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-30librustc: De-export rustc. rs=deexportingPatrick Walton-2/+2
2013-01-20convert ast::expr into a structErick Tryzelaar-1/+1
2013-01-09A collection of refactorings that I found it hard/tiresome to divide:Niko Matsakis-1/+1
- Make `extern fn()` assignable to any closure type, rather than a subtype. - Remove unused int_ty_set and float_ty_set - Refactor variable unification and make it more DRY - Do fn sub/lub/glb on the level of fn_sig - Rename infer::to_str::ToStr to infer::to_str::InferStr - Capitalize names of various types - Correct hashing of FnMeta - Convert various records-of-fns into structs-of-fns. This is both eliminating use of deprecated features and more forwards compatible with fn reform. r=pcwalton
2013-01-07librustc: Make vectors no longer implicitly copyable in rustc. r=graydonPatrick Walton-0/+1
~20% perf win for trans on -O0, with other minor improvements across the board. No effect on -O2.
2012-12-27librustc: Terminate name searches at the nearest module scope for paths that ↵Patrick Walton-0/+2
contain at least two components. r=graydon
2012-12-04librustc: Remove all legacy pattern bindings from libsyntax and librustc. ↵Patrick Walton-8/+8
rs=refactoring
2012-12-03Update license, add license boilerplate to most files. Remainder will follow.Graydon Hoare-0/+10
2012-11-29librustc: Eliminate most expressions of the form `a.b()` that are not method ↵Patrick Walton-6/+8
calls. rs=refactoring
2012-11-07Rename src/rustc to src/librustc. Use the driver crateBrian Anderson-0/+52