about summary refs log tree commit diff
path: root/src/librustc/middle/astencode.rs
AgeCommit message (Collapse)AuthorLines
2013-02-20librustc: Get rid of structural records save for front/test.rs.Luqman Aden-79/+81
2013-02-19librustc: change driver::session::Session::str_of to return @~strErick Tryzelaar-4/+4
2013-02-17Removed more capture claueses.Seth Pink-1/+1
2013-02-15librustc: Get rid of `move`.Luqman Aden-1/+1
2013-02-14librustc: Replace `impl Type : Trait` with `impl Trait for Type`. ↵Patrick Walton-23/+23
rs=implflipping
2013-02-13Remove die!, raplace invocations with fail! Issue #4524 pt 3Nick Desaulniers-3/+3
2013-02-07librustc: Lots of de-muting. rs=demutingPatrick Walton-2/+2
2013-02-05oldmap: use &K instead of K in find and getPatrick Walton-14/+14
This reverts commit a4250a96fdf61142a9c8dbb6d37ae8435c99e396. This is not the cause of the nonexhaustive-match failure.
2013-02-05Revert "oldmap: use &K instead of K in find and get"Graydon Hoare-14/+14
This reverts commit 8e643525d4e5bca993dada43615916c382a0645b.
2013-02-03oldmap: use &K instead of K in find and getDaniel Micay-14/+14
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-31test cases, cleanupJohn Clements-5/+5
2013-01-31Replace most invocations of fail keyword with die! macroNick Desaulniers-3/+3
2013-01-31Finalize moves-based-on-type implementation.Niko Matsakis-19/+77
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: Change `self` as a type to `Self` everywhere. r=brsonPatrick Walton-1/+1
2013-01-30librustc: De-export rustc. rs=deexportingPatrick Walton-15/+12
2013-01-29Handle supertrait calls in default methodsTim Chevalier-3/+6
Add a new method_super origin for supertrait methods. Also make coherence create a table that maps pairs of trait IDs and self types to impl IDs, so that it's possible to check a supertrait method knowing only its index in its trait's methods (without knowing all supertraits for a given trait). r=nmatsakis and graydon -- with hope, we'll revamp all of this code as per #4678, but for now this fixes the bug. Closes #3979
2013-01-24syntax/rustc: Less copyTim Chevalier-12/+13
2013-01-22Add is_mutbl field to def_argSeo Sanghyeon-1/+1
2013-01-22syntax/rustc: Make some metadata-related functions take slices, kill bad copiesTim Chevalier-1/+1
Too small to review.
2013-01-20Convert many libsyntax records into structsErick Tryzelaar-1/+1
Specifically: ast_map::ctx ast_util::id_range diagnostic::{handler_t,codemap_t} auto_encode::field ext::base::{macro_def,syntax_expander_tt,syntax_expander_tt_item} ext::pipes::proto::next_state
2013-01-20convert librustc record types to structsErick Tryzelaar-20/+31
specifically: freevars::freevar_entry ty::{field_ty,AutoAdjustment,AutoRef} mod::{method_param,method_map_entry}
2013-01-17When decoding types, indicate to the def-id conversion function what kind ofNiko Matsakis-4/+71
def-id we have, so that the inliner can distinguish between external and internal def-ids. Also add some comments explaining the distinction! Fixes #4516. r=graydon
2013-01-17librustc: Implement write guards for borrowing `@mut` to `&` or `&mut`. ↵Patrick Walton-0/+1
r=nmatsakis
2013-01-14Convert ast::{pat,field_pat,local_,arm} into structsErick Tryzelaar-1/+4
2013-01-14convert ast::struct_dtor_ into a structErick Tryzelaar-10/+15
2013-01-14Convert ast::def_id into a struct.Erick Tryzelaar-3/+3
2013-01-09A collection of refactorings that I found it hard/tiresome to divide:Niko Matsakis-7/+7
- 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-09core: rename vec.filter to vec.filteredErick Tryzelaar-1/+1
2013-01-09syntax: convert ast::spanned into a structErick Tryzelaar-8/+13
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-08Implement GLB algorithm. (Issue #2263)Niko Matsakis-1/+2
r=brson
2013-01-07librustc: Fix some librustc test modes. rs=bustagePatrick Walton-2/+2
2013-01-07librustc: Make vectors no longer implicitly copyable in rustc. r=graydonPatrick Walton-18/+22
~20% perf win for trans on -O0, with other minor improvements across the board. No effect on -O2.
2012-12-27librustc: Fix some unresolved imports in the test runner. rs=bustagePatrick Walton-3/+4
2012-12-27librustc: Terminate name searches at the nearest module scope for paths that ↵Patrick Walton-1/+4
contain at least two components. r=graydon
2012-12-20Remove the cfg(stageN)-specific serialize code.Erick Tryzelaar-4/+0
2012-12-19Remove serialize::traits submodule.Erick Tryzelaar-0/+4
2012-12-18Stop resolving static methods at the module level. Closes #4179Brian Anderson-12/+14
2012-12-17Switch from serialization to std::serialize. (snapshot)Erick Tryzelaar-63/+62
2012-12-13librustc: Allow moves out of `self`. r=nmatsakisPatrick Walton-1/+2
2012-12-13librustc: Make `use` statements crate-relative by default. r=brsonPatrick Walton-31/+25
2012-12-12syntax: remove all remaining uses of #ast, and #ast / qquote itself.Graydon Hoare-11/+24
2012-12-10Remove un-needed code for obsolete classesTim Chevalier-2/+2
and rename "class" to "struct" everywhere possible (except local vars, I was too lazy for that) -- that is why this commit is so big. No review, just dead code removal and renaming. Closes #3515
2012-12-06Rename std::ebml::Reader => std::ebml::reader, same for writerTim Chevalier-30/+30
Closes #4076
2012-12-04librustc: Implement moves based on type. r=nmatsakisPatrick Walton-0/+12
2012-12-04librustc: Remove all legacy pattern bindings from libsyntax and librustc. ↵Patrick Walton-12/+12
rs=refactoring
2012-12-03Update license, add license boilerplate to most files. Remainder will follow.Graydon Hoare-0/+10