about summary refs log tree commit diff
path: root/src/librustc/lib
AgeCommit message (Collapse)AuthorLines
2013-02-03rename map -> oldmap and mark it as deprecatedDaniel Micay-1/+1
LinearMap is quite a bit faster, and is fully owned/sendable without requiring copies. The older std::map also doesn't use explicit self and relies on mutable fields.
2013-01-31Replace most invocations of fail keyword with die! macroNick Desaulniers-1/+1
2013-01-31Finalize moves-based-on-type implementation.Niko Matsakis-5/+4
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 back, lib, and util. rs=deexportingPatrick Walton-554/+625
2013-01-24replace ConstVector trait with the Container traitDaniel Micay-1/+1
2013-01-23libsyntax: Remove `fn() unsafe { ... }`. r=graydonPatrick Walton-1/+1
2013-01-18rustc: Make type_names and named_types tables in trans use @str instead of ~strTim Chevalier-48/+50
Cuts down on bad copies (though there are still a few that can go away once there are impls of push / append / + for @str)
2013-01-13Make empty structs debug-printableJed Davis-5/+8
2013-01-10librustc: Make all external functions unsafe. r=tjcPatrick Walton-602/+817
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+1
module scope. r=tjc
2013-01-08Revert "librustc: Make unqualified identifier searches terminate at the ↵Patrick Walton-1/+0
nearest module scope. r=tjc" This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+1
module scope. r=tjc
2013-01-07librustc: Make vectors no longer implicitly copyable in rustc. r=graydonPatrick Walton-6/+9
~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-6/+15
contain at least two components. r=graydon
2012-12-04librustc: Remove all legacy pattern bindings from libsyntax and librustc. ↵Patrick Walton-1/+1
rs=refactoring
2012-12-03Update license, add license boilerplate to most files. Remainder will follow.Graydon Hoare-0/+10
2012-11-30librustc: Implement C-like enum constants. r=tjcPatrick Walton-5/+16
2012-11-28Register snapshotsBrian Anderson-43/+0
2012-11-19rustc: Implement explicit self for Eq and Ord. r=graydonPatrick Walton-0/+43
2012-11-07rustc: Support irrefutable patterns in function arguments. r=nmatsakisPatrick Walton-5/+5
2012-11-07Rename src/rustc to src/librustc. Use the driver crateBrian Anderson-0/+1273