about summary refs log tree commit diff
path: root/src/librustc/metadata
AgeCommit message (Collapse)AuthorLines
2013-02-12Revert "librustc: Make monomorphic newtype structs work cross-crate"Graydon Hoare-70/+30
This reverts commit a8f039a085c7d7622899b7a4d1bebfe2d7621165.
2013-02-11librustc: Make monomorphic newtype structs work cross-cratePatrick Walton-30/+70
2013-02-08oldmap: get rid of legacy _ref suffixesDaniel Micay-4/+4
2013-02-07librustc: Lots of de-muting. rs=demutingPatrick Walton-168/+194
2013-02-07Make ~fn non-copyable, make &fn copyable, split barefn/closure types,Niko Matsakis-66/+101
correct handling of moves for struct-record update. Part of #3678. Fixes #2828, #3904, #4719.
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-03Merge remote-tracking branch 'thestinger/old_map' into incomingBrian Anderson-20/+20
Conflicts: src/test/bench/core-map.rs
2013-02-03librustc: Fix bugs regarding to impl privacy. rs=bugfixPatrick Walton-2/+2
2013-02-03Converted libcore/uint-template.rs to the new string functions.Marvin Löbel-2/+2
- Moved ToStr implementation of unsigned integers to uint-template.rs. - Marked the `str()` function as deprecated. - Forwarded all conversion functions to `core::num::to_str_common()` and `core::num::from_str_common()`. - Fixed most places in the codebase where `to_str()` is being used. - Added uint-template to_str and from_str overflow tests.
2013-02-03Converted libcore/int-template.rs to the new string functions.Marvin Löbel-1/+1
- Moved ToStr implementation of integers to int-template.rs. - Marked the `str()` function as deprecated. - Forwarded all conversion functions to `core::num::to_str_common()` and `core::num::from_str_common()`. - Fixed most places in the codebase where `to_str()` is being used. - Added int-template to_str and from_str overflow tests.
2013-02-03oldmap: remove legacy each methodDaniel Micay-1/+1
2013-02-03oldmap: remove the legacy each_value methodDaniel Micay-1/+1
2013-02-03oldmap: get rid of the legacy contains_key methodDaniel Micay-2/+2
2013-02-03rename map -> oldmap and mark it as deprecatedDaniel Micay-16/+16
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-02-01Merge remote-tracking branch 'nickdesaulniers/issue4524' into nocomm1Brian Anderson-2/+2
2013-01-31test cases, cleanupJohn Clements-8/+8
2013-01-31Replace most invocations of fail keyword with die! macroNick Desaulniers-2/+2
2013-01-31Replace most invocations of fail keyword with die! macroNick Desaulniers-32/+32
2013-01-31Finalize moves-based-on-type implementation.Niko Matsakis-30/+48
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: Remove legacy exports from the language. r=brsonPatrick Walton-3/+2
2013-01-29librustc: De-export metadata. rs=deexportingPatrick Walton-428/+279
2013-01-29libstd: Remove "dual impls" from the language and enforce coherence rules. ↵Patrick Walton-12/+16
r=brson "Dual impls" are impls that are both type implementations and trait implementations. They can lead to ambiguity and so this patch removes them from the language. This also enforces coherence rules. Without this patch, records can implement traits not defined in the current crate. This patch fixes this, and updates all of rustc to adhere to the new enforcement. Most of this patch is fixing rustc to obey the coherence rules, which involves converting a bunch of records to structs.
2013-01-28Do not try to encode/decode inference types, should not be necessaryNiko Matsakis-16/+2
r=brson
2013-01-24remove remaining is_not_empty functions/methodsDaniel Micay-3/+3
2013-01-24replace ConstVector trait with the Container traitDaniel Micay-2/+2
2013-01-24rustc: One Less Bad CopyTim Chevalier-2/+4
2013-01-23libsyntax: Remove `fn() unsafe { ... }`. r=graydonPatrick Walton-40/+42
2013-01-22syntax/rustc: Make some metadata-related functions take slices, kill bad copiesTim Chevalier-61/+59
Too small to review.
2013-01-22Simplify path_entry's closure argumentTim Chevalier-32/+13
Make the closure take two arguments instead of a single `path_entry` struct; remove the `path_entry` type. This eliminates a bad copy.
2013-01-21rustc: Make metadata::encoder::encode_path take an &pathTim Chevalier-27/+20
Eliminates some bad copies.
2013-01-20convert librustc record types to structsErick Tryzelaar-8/+12
specifically: freevars::freevar_entry ty::{field_ty,AutoAdjustment,AutoRef} mod::{method_param,method_map_entry}
2013-01-17rustc: One Less Bad CopyTim Chevalier-2/+3
2013-01-17When decoding types, indicate to the def-id conversion function what kind ofNiko Matsakis-18/+34
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-15librustc: Make the default sigil for block lambdas `&` instead of `@`.Graydon Hoare-5/+5
2013-01-14convert ast::{field_,capture_item_,mt} and middle::ty::mt into structsErick Tryzelaar-1/+1
2013-01-14convert ast::attribute_ and ast::view_item to a structErick Tryzelaar-4/+8
2013-01-14Convert ast::def_id into a struct.Erick Tryzelaar-11/+15
2013-01-14Change ast::path into a struct.Erick Tryzelaar-3/+5
2013-01-14syntax/rustc: Eliminate some bad copiesTim Chevalier-13/+12
r=pcwalton
2013-01-13Support ARM and Androidkyeongwoon-2/+5
Conflicts: src/libcore/os.rs src/librustc/back/link.rs src/librustc/driver/driver.rs src/librustc/metadata/loader.rs src/librustc/middle/trans/base.rs
2013-01-10librustc: Implement a #[no_mangle] attribute to suppress name mangling. r=brsonPatrick Walton-2/+1
This is very helpful for SDL, as SDL wants you to define a function named `SDL_main`.
2013-01-10mode: reset mode on entry to fn body.Niko Matsakis-1/+2
This is an interim fix to address the "Beware!" unsoundness. I have a more comprehensive rewrite of mode.rs in the pipeline. r=pcwalton
2013-01-09A collection of refactorings that I found it hard/tiresome to divide:Niko Matsakis-30/+33
- 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-09syntax: convert ast::spanned into a structErick Tryzelaar-3/+4
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-2/+19
module scope. r=tjc
2013-01-08Revert "librustc: Make unqualified identifier searches terminate at the ↵Patrick Walton-19/+2
nearest module scope. r=tjc" This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-2/+19
module scope. r=tjc
2013-01-08Implement GLB algorithm. (Issue #2263)Niko Matsakis-0/+3
r=brson