about summary refs log tree commit diff
path: root/src/librustc/rustc.rc
AgeCommit message (Collapse)AuthorLines
2013-06-25Rename all files with the 'rc' extensionAlex Crichton-369/+0
2013-06-23Remove intrinsic modulePhilipp Brüschweiler-1/+0
To achieve this, the following changes were made: * Move TyDesc, TyVisitor and Opaque to std::unstable::intrinsics * Convert TyDesc, TyVisitor and Opaque to lang items instead of specially handling the intrinsics module * Removed TypeDesc, FreeGlue and get_type_desc() from sys Fixes #3475.
2013-06-23vec: remove BaseIter implementationDaniel Micay-3/+5
I removed the `static-method-test.rs` test because it was heavily based on `BaseIter` and there are plenty of other more complex uses of static methods anyway.
2013-06-22Merge pull request #7270 from thestinger/docDaniel Micay-4/+4
accumulated doc pull requests from the queue
2013-06-22rustc: Fix formatting of --helpBrian Anderson-4/+4
2013-06-21vec: rm old_iter implementations, except BaseIterDaniel Micay-2/+3
The removed test for issue #2611 is well covered by the `std::iterator` module itself. This adds the `count` method to `IteratorUtil` to replace `EqIter`.
2013-06-21Remove all #[cfg(stage0)]-protected codeJames Miller-8/+0
New snapshot means this can all go. Also removes places that have comments that say they are workarounds for stage0 errors.
2013-06-16Move trans mod items into trans/mod.rsJames Miller-35/+2
2013-06-13Use @str instead of @~str in libsyntax and librustc. Fixes #5048.Huon Wilson-7/+7
This almost removes the StringRef wrapper, since all strings are Equiv-alent now. Removes a lot of `/* bad */ copy *`'s, and converts several things to be &'static str (the lint table and the intrinsics table). There are many instances of .to_managed(), unfortunately.
2013-06-12std: convert str::replace to a method.Huon Wilson-1/+1
2013-06-08remove deprecated vec::{is_empty, len} functionsDaniel Micay-1/+1
2013-06-09remove unused import warningsHuon Wilson-2/+0
2013-06-01rustc/rusti/rustpkg: Infer packages from `extern mod` directivesTim Chevalier-5/+5
This commit won't be quite as useful until I implement RUST_PATH and until we change `extern mod` to take a general string instead of an identifier (#5682 and #6407). With that said, now if you're using rustpkg and a program contains: extern mod foo; rustpkg will attempt to search for `foo`, so that you don't have to provide a -L directory explicitly. In addition, rustpkg will actually try to build and install `foo`, unless it's already installed (specifically, I tested that `extern mod extra;` would not cause it to try to find source for `extra` and compile it again). This is as per #5681. Incidentally, I changed some driver code to infer the link name from the crate link_meta attributes. If that change isn't ok, say something. Also, I changed the addl_lib_search_paths field in the session options to be an @mut ~[Path] so that it can be modified after expansion but before later phases.
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-0/+25
2013-05-29librustc: Redo the unsafe checker and make unsafe methods not callable from ↵Patrick Walton-0/+1
safe code
2013-05-29Further refactor optimization pass handlingJames Miller-0/+5
This refactors pass handling to use the argument names, so it can be used in a similar manner to `opt`. This may be slightly less efficient than the previous version, but it is much easier to maintain. It also adds in the ability to specify a custom pipeline on the command line, this overrides the normal passes, however. This should completely close #2396.
2013-05-29Refactor optimization pass handling.James Miller-0/+1
Refactor the optimization passes to explicitly use the passes. This commit just re-implements the same passes as were already being run. It also adds an option (behind `-Z`) to run the LLVM lint pass on the unoptimized IR.
2013-05-28Silence various warnings throughout test modulesAlex Crichton-1/+1
2013-05-24show options for -W help and -WLenny222-1/+6
2013-05-22syntax: Change syntax extensions to expand to `std::foo` instead of `core::foo`Patrick Walton-0/+3
2013-05-22librustc: Change `std` to `extra` throughout libsyntax and librustcPatrick Walton-3/+6
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-1/+7
to libextra
2013-05-22librustc: Rename core injection to std injectionPatrick Walton-1/+1
2013-05-20Remove all unnecessary allocations (as flagged by lint)Alex Crichton-15/+15
2013-05-19Register snapshotsBrian Anderson-3/+0
2013-05-19reduce the usage of explicit version markersDaniel Micay-3/+2
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