summary refs log tree commit diff
path: root/src/librustc/metadata
AgeCommit message (Collapse)AuthorLines
2013-03-31Fix warningsBrian Anderson-1/+0
2013-03-29Add AbiSet and integrate it into the AST.Niko Matsakis-23/+43
I believe this patch incorporates all expected syntax changes from extern function reform (#3678). You can now write things like: extern "<abi>" fn foo(s: S) -> T { ... } extern "<abi>" mod { ... } extern "<abi>" fn(S) -> T The ABI for foreign functions is taken from this syntax (rather than from an annotation). We support the full ABI specification I described on the mailing list. The correct ABI is chosen based on the target architecture. Calls by pointer to C functions are not yet supported, and the Rust type of crust fns is still *u8.
2013-03-29librustc: Remove `fail_unless!`Patrick Walton-28/+28
2013-03-28Removing unused importsAlex Crichton-8/+7
2013-03-28librustc: Remove common fields and nested enums from the languagePatrick Walton-2/+1
2013-03-27auto merge of #5558 : nikomatsakis/rust/issue-4920-autoref-index-operator, ↵bors-4/+0
r=nikomatsakis Per discussion on IRC. r? @pcwalton
2013-03-27Fix pretty-printer test failure by carrying the bound lifetime names throughNiko Matsakis-1/+4
the types. Initially I thought it would be necessary to thread this data through not only the AST but the types themselves, but then I remembered that the pretty printer only cares about the AST. Regardless, I have elected to leave the changes to the types intact since they will eventually be needed. I left a few FIXMEs where it didn't seem worth finishing up since the code wasn't crucial yet.
2013-03-27remove sty_by_ref, though traces still remain due to dtorsNiko Matsakis-4/+0
2013-03-26librustc: Modify all code to use new lifetime binder syntaxPatrick Walton-4/+5
2013-03-26option: rm functions that duplicate methodsDaniel Micay-3/+2
2013-03-26Move ast_map::map to LinearMapAlex Crichton-2/+2
2013-03-26rustc: Purge of HashMap, fixing segfaulting casesAlex Crichton-1/+1
Various FIXME comments added around to denote copies which when removed cause the compiler to segfault at some point before stage2. None of these copies should even be necessary.
2013-03-26rustc: Remove uses of oldmap::HashMapAlex Crichton-68/+62
2013-03-26Switched over a bunch of splitting funktions to non-allocating iteratorsMarvin Löbel-1/+3
2013-03-23make crates with the same name sort consistentlyDaniel Micay-5/+9
2013-03-22librustc: Remove the `const` declaration form everywherePatrick Walton-62/+62
2013-03-22librustc: Remove `pure` from libsyntax and librustc.Patrick Walton-1/+1
2013-03-22rustc: replace uses of old deriving attribute with new oneAndrew Paseltiner-1/+1
2013-03-21librustc: Forbid access to cross-crate private static methodsPatrick Walton-13/+16
2013-03-21back-renamed slice_DBG_BRWD, slice_V_DBG_BRWD -> slice, slice_DBG_UNIQ -> ↵Marvin Löbel-1/+1
slice_unique
2013-03-21renamed str::view -> slice_DBG_BRWDMarvin Löbel-1/+1
renamed str::slice -> slice_DBG_UNIQ changed vec slice method -> to_owned() renamed vec view method -> slice_V_DBG_BRWD
2013-03-20Refactor the self-info so that the def-id is carried in ty_self()Niko Matsakis-2/+5
and the fn_ctxt doesn't need any self_info field at all. Step towards fixing `fn(&self)` (cc #4846) to have a distinct lifetime.
2013-03-20auto merge of #5443 : alexcrichton/rust/less-bad-copy, r=catamorphismbors-8/+8
Removes a lot of instances of `/*bad*/ copy` throughout libsyntax/librustc. On the plus side, this shaves about 2s off of the runtime when compiling `librustc` with optimizations. Ideally I would have run a profiler to figure out which copies are the most critical to remove, but in reality there was a liberal amount of `git grep`s along with some spot checking and removing the easy ones.
2013-03-20rustc: Remove some bad copies throughoutAlex Crichton-8/+8
2013-03-19auto merge of #5442 : pcwalton/rust/extern-block-restriction, r=pcwaltonbors-1/+9
r? @graydon
2013-03-19librustc: Enforce privacy for static methods.Patrick Walton-1/+9
This starts moving a bunch of privacy checks into the privacy checking phase and out of resolve.
2013-03-19auto merge of #5426 : nikomatsakis/rust/issue-4846-lifetimes-in-expl-self, ↵bors-20/+38
r=pcwalton (this will be needed for snapshotting at some point) r? @pcwalton
2013-03-18librustc: Make the compiler ignore purity.Patrick Walton-0/+4
For bootstrapping purposes, this commit does not remove all uses of the keyword "pure" -- doing so would cause the compiler to no longer bootstrap due to some syntax extensions ("deriving" in particular). Instead, it makes the compiler ignore "pure". Post-snapshot, we can remove "pure" from the language. There are quite a few (~100) borrow check errors that were essentially all the result of mutable fields or partial borrows of `@mut`. Per discussions with Niko I think we want to allow partial borrows of `@mut` but detect obvious footguns. We should also improve the error message when `@mut` is erroneously reborrowed.
2013-03-18librustc: Convert all uses of old lifetime notation to new lifetime ↵Patrick Walton-5/+5
notation. rs=delifetiming
2013-03-18Make &self permit explicit lifetimes, but don't really use themNiko Matsakis-20/+38
(this will be needed for snapshotting at some point).
2013-03-13librustc: Don't accept `as Trait` anymore; fix all occurrences of it.Patrick Walton-42/+47
2013-03-13librustc: Separate out trait storage from evec/estr storagePatrick Walton-4/+26
2013-03-13Remove `++` mode from the compiler (it is parsed as `+` mode)Niko Matsakis-5/+3
and obsolete `-` mode altogether (it *was* parsed as `+` mode).
2013-03-11librustc: Replace all uses of `fn()` with `&fn()`. rs=defunPatrick Walton-10/+10
2013-03-08rustc: Remove uses of DVecAlex Crichton-20/+14
2013-03-07librustc: Add #[link_args] to metadataPatrick Walton-0/+41
2013-03-07librustc: Convert all uses of `assert` over to `fail_unless!`Patrick Walton-28/+28
2013-03-07librustc: Remove structural record types from the compilerPatrick Walton-19/+0
2013-03-07Inline constants across crates.Josh Matthews-1/+2
2013-03-06Add manual &self/ and &static/ and /&self declarations thatNiko Matsakis-9/+10
are currently inferred. New rules are coming that will require them to be explicit. All add some explicit self declarations.
2013-03-06auto merge of #5253 : nikomatsakis/rust/issue-5243, r=graydonbors-8/+12
them to be non-monomorphic. Merely having lifetime parameters is not enough to qualify for that status. Fixes #5243. r?
2013-03-06Fix a bug with region-parameterized enums etc where trans consideredNiko Matsakis-8/+12
them to be non-monomorphic. Merely having lifetime parameters is not enough to qualify for that status. Fixes #5243.
2013-03-06Fix bug in coherence that causes all cross-crate impls to be regarded asNiko Matsakis-1/+1
inherent impls, not just those of the `impl Type` variety.
2013-03-05core: convert vec::{last,last_opt} to return referencesErick Tryzelaar-3/+5
2013-03-05rustc: minor code cleanupErick Tryzelaar-1/+1
2013-03-05rustc: remove some copiesErick Tryzelaar-7/+8
2013-03-05core: convert vec::{init,initn} to return referencesErick Tryzelaar-3/+5
2013-03-05auto merge of #5212 : thestinger/rust/iter, r=graydonbors-3/+3
A small step towards fixing #2827
2013-03-04Remove unused imports throughout src/Alex Crichton-25/+1
2013-03-03replace option::iter with a BaseIter implDaniel Micay-3/+3