about summary refs log tree commit diff
path: root/src/librustc/rustc.rc
AgeCommit message (Collapse)AuthorLines
2013-05-09Refactor representation of bounds to separate out BuiltinBounds intoNiko Matsakis-0/+1
its own type. Use a bitset to represent built-in bounds. There are several places in the language where only builtin bounds (aka kinds) will be accepted, e.g. on closures, destructor type parameters perhaps, and on trait types.
2013-05-08auto merge of #6119 : brson/rust/main, r=brsonbors-0/+1
r? @ILyoan This pulls all the logic for discovering the crate entry point into a new pass (out of resolve and typeck), then changes it so that main is only looked for at the crate level (`#[main]` can still be used anywhere). I don't understand the special android logic here and worry that I may have broken it.
2013-05-05Merge remote-tracking branch 'mozilla/incoming' into issue-5910-dyna-freezeNiko Matsakis-9/+0
Conflicts: src/libcore/core.rc src/libcore/hashmap.rs src/libcore/num/f32.rs src/libcore/num/f64.rs src/libcore/num/float.rs src/libcore/num/int-template.rs src/libcore/num/num.rs src/libcore/num/strconv.rs src/libcore/num/uint-template.rs src/libcore/ops.rs src/libcore/os.rs src/libcore/prelude.rs src/libcore/rt/mod.rs src/libcore/unstable/lang.rs src/librustc/driver/session.rs src/librustc/middle/astencode.rs src/librustc/middle/borrowck/check_loans.rs src/librustc/middle/borrowck/gather_loans.rs src/librustc/middle/borrowck/loan.rs src/librustc/middle/borrowck/preserve.rs src/librustc/middle/liveness.rs src/librustc/middle/mem_categorization.rs src/librustc/middle/region.rs src/librustc/middle/trans/base.rs src/librustc/middle/trans/inline.rs src/librustc/middle/trans/reachable.rs src/librustc/middle/typeck/check/_match.rs src/librustc/middle/typeck/check/regionck.rs src/librustc/util/ppaux.rs src/libstd/arena.rs src/libstd/ebml.rs src/libstd/json.rs src/libstd/serialize.rs src/libstd/std.rc src/libsyntax/ast_map.rs src/libsyntax/parse/parser.rs src/test/compile-fail/borrowck-uniq-via-box.rs src/test/compile-fail/regions-infer-borrow-scope-within-loop.rs src/test/run-pass/borrowck-nested-calls.rs
2013-05-04separate out write_guard code into its own moduleNiko Matsakis-0/+1
2013-05-03rustc: Warning policeTim Chevalier-1/+0
2013-05-02fix numerous dynamic borrow failuresNiko Matsakis-0/+3
2013-05-02Remove 'Local Variable' commentsBrendan Zabarauskas-8/+0
2013-04-30adapt to snapshotNiko Matsakis-0/+1
2013-04-29rustc: Move code for discovering the crate entry point into its own passBrian Anderson-0/+1
It doesn't have anything to do with resolve and the logic will likely get more involved in the future, after #4433
2013-04-27only use #[no_core] in libcoreDaniel Micay-7/+0
2013-04-19rustc: de-mode + fallout from libsyntax changesAlex Crichton-8/+6
2013-04-18auto merge of #5914 : catamorphism/rust/copy-cops, r=catamorphismbors-6/+5
2013-04-18rustc: One less copyTim Chevalier-6/+5
2013-04-18core::comm: Modernize constructors to use `new`Brian Anderson-1/+1
2013-04-17rustc: Use an out pointer to return structs in x86 C ABI. #5347Brian Anderson-0/+1
This Adds a bunch of tests for passing and returning structs of various sizes to C. It fixes the struct return rules on unix, and on windows for structs of size > 8 bytes. Struct passing on unix for structs under a certain size appears to still be broken.
2013-04-10Bump version to 0.7-preBrian Anderson-4/+4
2013-04-10Revert map.each to something which takes two parametersNiko Matsakis-1/+1
rather than a tuple. The current setup iterates over `BaseIter<(&'self K, &'self V)>` where 'self is a lifetime declared *in the each method*. You can't place such a type in the impl declaration. The compiler currently allows it, but this will not be legal under #5656 and I'm pretty sure it's not sound now.
2013-04-09auto merge of #5802 : nikomatsakis/rust/issue-4183-trait-substs, r=nikomatsakisbors-0/+1
Cleanup substitutions and treatment of generics around traits in a number of ways - In a TraitRef, use the self type consistently to refer to the Self type: - trait ref in `impl Trait<A,B,C> for S` has a self type of `S`. - trait ref in `A:Trait` has the self type `A` - trait ref associated with a trait decl has self type `Self` - trait ref associated with a supertype has self type `Self` - trait ref in an object type `@Trait` has no self type - Rewrite `each_bound_traits_and_supertraits` to perform substitutions as it goes, and thus yield a series of trait refs that are always in the same 'namespace' as the type parameter bound given as input. Before, we left this to the caller, but this doesn't work because the caller lacks adequare information to perform the type substitutions correctly. - For provided methods, substitute the generics involved in the provided method correctly. - Introduce TypeParameterDef, which tracks the bounds declared on a type parameter and brings them together with the def_id and (in the future) other information (maybe even the parameter's name!). - Introduce Subst trait, which helps to cleanup a lot of the repetitive code involved with doing type substitution. - Introduce Repr trait, which makes debug printouts far more convenient. Fixes #4183. Needed for #5656. r? @catamorphism
2013-04-09Bump version to 0.7-preBrian Anderson-4/+4
2013-04-09Cleanup substitutions and treatment of generics around traits in a number of ↵Niko Matsakis-0/+1
ways. - In a TraitRef, use the self type consistently to refer to the Self type: - trait ref in `impl Trait<A,B,C> for S` has a self type of `S`. - trait ref in `A:Trait` has the self type `A` - trait ref associated with a trait decl has self type `Self` - trait ref associated with a supertype has self type `Self` - trait ref in an object type `@Trait` has no self type - Rewrite `each_bound_traits_and_supertraits` to perform substitutions as it goes, and thus yield a series of trait refs that are always in the same 'namespace' as the type parameter bound given as input. Before, we left this to the caller, but this doesn't work because the caller lacks adequare information to perform the type substitutions correctly. - For provided methods, substitute the generics involved in the provided method correctly. - Introduce TypeParameterDef, which tracks the bounds declared on a type parameter and brings them together with the def_id and (in the future) other information (maybe even the parameter's name!). - Introduce Subst trait, which helps to cleanup a lot of the repetitive code involved with doing type substitution. - Introduce Repr trait, which makes debug printouts far more convenient. Fixes #4183. Needed for #5656.
2013-03-27librustc: Move inline asm stuff to different mod.Luqman Aden-0/+1
2013-03-26librustc: Enforce that `extern mod` directives come first, then `use` ↵Patrick Walton-20/+18
directives, then items. Resolve them in this order as well.
2013-03-26option: rm functions that duplicate methodsDaniel Micay-4/+2
2013-03-26rustc: Remove uses of oldmap::HashMapAlex Crichton-2/+4
2013-03-25Kill some warnings: unused imports and old #[deny(..)]s.Huon Wilson-1/+0
2013-03-22rustc: replace uses of old deriving attribute with new oneAndrew Paseltiner-1/+1
2013-03-08Finish de-implicit-selfing everything but the test suiteBen Striegel-1/+1
2013-03-06Unified algebraic datatype representation implementation, initial version.Jed Davis-0/+1
Later changes on this branch adapt the rest of rustc::middle::trans to use this module instead of scattered hard-coded knowledge of representations; a few of them also have improvements or cleanup for adt.rs (and many added comments) that weren't drastic enough to justify changing history to move them into this commit.
2013-03-04Remove unused imports throughout src/Alex Crichton-15/+0
2013-03-03rustc: implement MIPS O32 ABIJyun-Yan You-0/+1
2013-03-03rustc: MIPS32 supportJyun-Yan You-0/+1
2013-03-02librustc: Remove `fn@`, `fn~`, and `fn&` from librustc. rs=defunPatrick Walton-3/+5
2013-03-02librustc: Forbid chained imports and fix the logic for one-level renaming ↵Patrick Walton-11/+11
imports
2013-03-01librustc: "APL2" -> "ASL2". rs=license-fixPatrick Walton-1/+1
2013-02-28Fix license attribute on cratessevrak-2/+2
2013-02-27Turn old `drop` blocks into `Drop` traitsBen Striegel-1/+4
2013-02-26auto merge of #5120 : jbclements/rust/macros-have-scope, r=pcwaltonbors-0/+1
r? After this patch, macros declared in a module, function, or block can only be used inside of that module, function or block, with the exception of modules declared with the #[macro_escape] attribute; these modules allow macros to escape, and can be used as a limited macro export mechanism. This pull request also includes miscellaneous comments, lots of new test cases, a few renamings, and a few as-yet-unused data definitions for hygiene.
2013-02-26auto merge of #5115 : sanxiyn/rust/arm-abi, r=brsonbors-0/+1
Type size and alignment code needs to be factored, but I didn't want to interfere with MIPS port. Can be done later. Fix #4797.
2013-02-26Change imported macros to use leaky modules rather than leaky functions.John Clements-0/+1
2013-02-26libcore: Move Cell to core and de-~mut core and stdPatrick Walton-1/+1
2013-02-26ARM C ABI implementationSeo Sanghyeon-0/+1
2013-02-21core: Extract comm from pipes. #4742Brian Anderson-1/+1
2013-02-20librustc: Get rid of structural records save for front/test.rs.Luqman Aden-1/+0
2013-02-19librustc: convert lint_dict to take @~strs as keysErick Tryzelaar-1/+1
2013-02-15librustc: Stop parsing `impl Type : Trait` and fix several declarations that ↵Patrick Walton-7/+1
slipped through. r=tjc
2013-02-15librustc: Get rid of `move`.Luqman Aden-2/+2
2013-02-13Remove die!, raplace invocations with fail! Issue #4524 pt 3Nick Desaulniers-1/+1
2013-02-08oldmap: get rid of legacy _ref suffixesDaniel Micay-2/+2
2013-02-07librustc: Lots of de-muting. rs=demutingPatrick Walton-2/+2
2013-02-03oldmap: remove legacy each methodDaniel Micay-1/+1