| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2016-10-25 | rustc_metadata: move is_extern_item to trans. | Eduard Burtescu | -24/+0 | |
| 2016-10-23 | Run rustfmt on metadata folder - (1/2) | Srinivas Reddy Thatiparthy | -210/+276 | |
| 2016-10-19 | Use TypedArena::alloc_slice in rustc. | Mark-Simulacrum | -2/+2 | |
| 2016-10-10 | Avoid allocations in `Decoder::read_str`. | Nicholas Nethercote | -1/+2 | |
| `opaque::Decoder::read_str` is very hot within `rustc` due to its use in the reading of crate metadata, and it currently returns a `String`. This commit changes it to instead return a `Cow<str>`, which avoids a heap allocation. This change reduces the number of calls to `malloc` by almost 10% in some benchmarks. This is a [breaking-change] to libserialize. | ||||
| 2016-10-04 | Eliminate ty::VariantKind in favor of def::CtorKind | Vadim Petrochenkov | -9/+9 | |
| 2016-10-04 | Further cleanup in resolve | Vadim Petrochenkov | -0/+2 | |
| `try_define` is not used in build_reduced_graph anymore Collection of field names for error reporting is optimized Some comments added | ||||
| 2016-10-04 | Fix cross-crate resolution of half-items created by export shadowing | Vadim Petrochenkov | -9/+26 | |
| 2016-09-20 | rustc_resolve: bring back "struct called like a function" cross-crate. | Eduard Burtescu | -0/+9 | |
| 2016-09-20 | rustc_metadata: fix for the new `?` ambiguity around collect. | Eduard Burtescu | -1/+1 | |
| 2016-09-20 | rustc_metadata: move opt_item_name to TyCtxt::item_name. | Eduard Burtescu | -34/+5 | |
| 2016-09-20 | rustc_metadata: reduce Lazy{,Seq} overhead by using a relative encoding. | Eduard Burtescu | -7/+40 | |
| 2016-09-20 | rustc_metadata: replace RBML with a simple and type-safe scheme. | Eduard Burtescu | -464/+493 | |
| 2016-09-20 | rustc_metadata: split the Def description of a DefId from item_children. | Eduard Burtescu | -32/+30 | |
| 2016-09-20 | rustc_metadata: move all encoding/decoding helpers to methods. | Eduard Burtescu | -728/+657 | |
| 2016-09-20 | rustc_metadata: use the shorthand encoding for predicates also. | Eduard Burtescu | -18/+21 | |
| 2016-09-20 | rustc_metadata: group information into less tags. | Eduard Burtescu | -419/+266 | |
| 2016-09-20 | rustc_metadata: group the tags into root tags and item tags. | Eduard Burtescu | -80/+71 | |
| 2016-09-20 | rustc: remove ImplOrTraitItemId and TraitDef's associated_type_names. | Eduard Burtescu | -26/+1 | |
| 2016-09-20 | rustc_metadata: move more RBML tags to auto-serialization. | Eduard Burtescu | -703/+296 | |
| 2016-09-20 | rustc_metadata: remove ty{en,de}code and move to auto-derived serialization. | Eduard Burtescu | -18/+36 | |
| 2016-09-20 | rustc_metadata: side-step ty{en,de}code for everything but Ty. | Eduard Burtescu | -32/+33 | |
| 2016-09-20 | Remove librbml and the RBML-tagged auto-encoder/decoder. | Eduard Burtescu | -17/+42 | |
| 2016-09-20 | rustc_metadata: go back to not using the opaque format. | Eduard Burtescu | -44/+52 | |
| 2016-09-20 | rustc_metadata: go only through rustc_serialize in astencode. | Eduard Burtescu | -129/+117 | |
| 2016-09-20 | rustc_metadata: combine DecodeContext and rbml::reader::Decoder. | Eduard Burtescu | -12/+110 | |
| 2016-09-20 | rustc_metadata: encode miscellaneous information opaquely. | Eduard Burtescu | -32/+13 | |
| 2016-09-20 | rustc_metadata: combine EncodeContext and rbml::writer::Encoder. | Eduard Burtescu | -4/+2 | |
| 2016-09-13 | Fix rebasing fallout. | Michael Woerister | -1/+1 | |
| 2016-09-13 | Make sure that projection bounds in ty::TraitObject are sorted in a way that ↵ | Michael Woerister | -1/+3 | |
| is stable across compilation sessions and crate boundaries. | ||||
| 2016-09-12 | Auto merge of #35960 - nikomatsakis:incr-comp-krate-edges, r=michaelwoerister | bors | -12/+12 | |
| fix a few errant `Krate` edges Exploring the effect of small changes on `syntex` reuse, I discovered the following sources of unnecessary edges from `Krate` r? @michaelwoerister | ||||
| 2016-09-08 | Refactor `TyStruct`/`TyEnum`/`TyUnion` into `TyAdt` | Vadim Petrochenkov | -11/+6 | |
| 2016-09-06 | always print def-path in Debug impl for DefId | Niko Matsakis | -3/+10 | |
| I also added an `opt_def_path` so that we can deal with DefIds that are missing a `DefPath` entry. | ||||
| 2016-09-06 | remove the "misc-items" from meta-data | Niko Matsakis | -9/+2 | |
| It was duplicating information available elsewhere. | ||||
| 2016-09-04 | Replace `_, _` with `..` | Vadim Petrochenkov | -2/+2 | |
| 2016-09-03 | Fix type encoding/decoding for unions | Vadim Petrochenkov | -1/+1 | |
| Fix union debuginfo test on lldb | ||||
| 2016-09-03 | Implement encoding/decoding unions in metadata | Vadim Petrochenkov | -0/+7 | |
| Add well-formedness check Implement some more missing code | ||||
| 2016-09-02 | rustc: Implement custom derive (macros 1.1) | Alex Crichton | -0/+5 | |
| This commit is an implementation of [RFC 1681] which adds support to the compiler for first-class user-define custom `#[derive]` modes with a far more stable API than plugins have today. [RFC 1681]: https://github.com/rust-lang/rfcs/blob/master/text/1681-macros-1.1.md The main features added by this commit are: * A new `rustc-macro` crate-type. This crate type represents one which will provide custom `derive` implementations and perhaps eventually flower into the implementation of macros 2.0 as well. * A new `rustc_macro` crate in the standard distribution. This crate will provide the runtime interface between macro crates and the compiler. The API here is particularly conservative right now but has quite a bit of room to expand into any manner of APIs required by macro authors. * The ability to load new derive modes through the `#[macro_use]` annotations on other crates. All support added here is gated behind the `rustc_macro` feature gate, both for the library support (the `rustc_macro` crate) as well as the language features. There are a few minor differences from the implementation outlined in the RFC, such as the `rustc_macro` crate being available as a dylib and all symbols are `dlsym`'d directly instead of having a shim compiled. These should only affect the implementation, however, not the public interface. This commit also ended up touching a lot of code related to `#[derive]`, making a few notable changes: * Recognized derive attributes are no longer desugared to `derive_Foo`. Wasn't sure how to keep this behavior and *not* expose it to custom derive. * Derive attributes no longer have access to unstable features by default, they have to opt in on a granular level. * The `derive(Copy,Clone)` optimization is now done through another "obscure attribute" which is just intended to ferry along in the compiler that such an optimization is possible. The `derive(PartialEq,Eq)` optimization was also updated to do something similar. --- One part of this PR which needs to be improved before stabilizing are the errors and exact interfaces here. The error messages are relatively poor quality and there are surprising spects of this such as `#[derive(PartialEq, Eq, MyTrait)]` not working by default. The custom attributes added by the compiler end up becoming unstable again when going through a custom impl. Hopefully though this is enough to start allowing experimentation on crates.io! syntax-[breaking-change] | ||||
| 2016-08-28 | Rollup merge of #35850 - SergioBenitez:master, r=nrc | Jeffrey Seyfried | -38/+13 | |
| Implement RFC#1559: allow all literals in attributes Implemented rust-lang/rfcs#1559, tracked by #34981. | ||||
| 2016-08-27 | Auto merge of #36030 - Manishearth:rollup, r=Manishearth | bors | -14/+5 | |
| Rollup of 7 pull requests - Successful merges: #35124, #35877, #35953, #36002, #36004, #36005, #36014 - Failed merges: | ||||
| 2016-08-26 | Auto merge of #35542 - scottcarr:visitor_refactor, r=nikomatsakis | bors | -1/+2 | |
| [MIR] track Location in MirVisitor, combine Location All the users of MirVisitor::visit_statement implement their own statement index tracking. This PR move the tracking into MirVisitor itself. Also, there were 2 separate implementations of Location that were identical. This PR eliminates one of them. | ||||
| 2016-08-27 | rustc: use Vec<Kind> in Substs, where Kind is a &TyS | &Region tagged pointer. | Eduard Burtescu | -1/+1 | |
| 2016-08-27 | rustc: pass ty::Region behind an interned 'tcx reference. | Eduard Burtescu | -13/+4 | |
| 2016-08-25 | Implement RFC#1559: allow all literals in attributes. | Sergio Benitez | -38/+13 | |
| 2016-08-23 | Reuse iterator to avoid unnecessary creation. | Corey Farwell | -2/+3 | |
| 2016-08-23 | Use idiomatic names for string-related methods names. | Corey Farwell | -17/+17 | |
| 2016-08-18 | track Location in visitor, combine Location | Scott A Carr | -1/+2 | |
| 2016-08-17 | pull out code for encoding enum variants | Niko Matsakis | -13/+5 | |
| 2016-08-17 | rustc: split GenericPredicates of a method from its parent predicates. | Eduard Burtescu | -0/+1 | |
| 2016-08-17 | rustc: reduce Substs and Generics to a simple immutable API. | Eduard Burtescu | -55/+25 | |
| 2016-08-17 | rustc: avoid using subst::VecPerParamSpace::{empty,new} directly. | Eduard Burtescu | -6/+4 | |
