| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2017-07-11 | Downgrade ProjectionTy's TraitRef to its substs | Tobias Schottdorf | -18/+17 | |
| Addresses the second part of #42171 by removing the `TraitRef` from `ProjectionTy`, and directly storing its `Substs`. Closes #42171. | ||||
| 2017-07-08 | Implemented `TypeFoldable` for `TypeError`s. | Inokentiy Babushkin | -0/+90 | |
| 2017-07-05 | use field init shorthand in src/librustc | Zack M. Davis | -12/+12 | |
| The field init shorthand syntax was stabilized in 1.17.0 (aebd94f); we are now free to use it in the compiler. | ||||
| 2017-06-27 | rustc: move the PolyFnSig out of TyFnDef. | Eduard-Mihai Burtescu | -7/+3 | |
| 2017-06-01 | strip param-env from infcx | Niko Matsakis | -0/+25 | |
| 2017-06-01 | Auto merge of #42281 - eddyb:well-adjusted, r=nikomatsakis | bors | -25/+98 | |
| Decompose Adjustment into smaller steps and remove the method map. The method map held method callee information for: * actual method calls (`x.f(...)`) * overloaded unary, binary, indexing and call operators * *every overloaded deref adjustment* (many can exist for each expression) That last one was a historical ~~accident~~ hack, and part of the motivation for this PR, along with: * a desire to compose adjustments more freely * containing the autoderef logic better to avoid mutation within an inference snapshot * not creating `TyFnDef` types which are incompatible with the original one * i.e. we used to take a`TyFnDef`'s `for<'a> &'a T -> &'a U` signature and instantiate `'a` using a region inference variable, *then* package the resulting `&'b T -> &'b U` signature in another `TyFnDef`, while keeping *the same* `DefId` and `Substs` * to fix #3548 by explicitly writing autorefs for the RHS of comparison operators Individual commits tell their own story, of "atomic" changes avoiding breaking semantics. Future work based on this PR could include: * removing the signature from `TyFnDef`, now that it's always "canonical" * some questions of variance remain, as subtyping *still* treats the signature differently * moving part of the typeck logic for methods, autoderef and coercion into `rustc::traits` * allowing LUB coercions (joining multiple expressions) to "stack up" many adjustments * transitive coercions (e.g. reify or unsize after multiple steps of autoderef) r? @nikomatsakis | ||||
| 2017-06-01 | rustc: decompose Adjustment into a vector of adjustment steps. | Eduard-Mihai Burtescu | -22/+25 | |
| 2017-06-01 | rustc: move autoref and unsize from Adjust::DerefRef to Adjustment. | Eduard-Mihai Burtescu | -17/+18 | |
| 2017-06-01 | rustc: replace autoderefs' use of MethodCallee with OverloadedDeref. | Eduard-Mihai Burtescu | -0/+108 | |
| 2017-06-01 | rustc: remove unused TypeFolder methods. | Eduard-Mihai Burtescu | -16/+0 | |
| 2017-06-01 | rustc: remove unnecessary ItemSubsts wrapper. | Eduard-Mihai Burtescu | -23/+0 | |
| 2017-05-31 | Upgrade ProjectionTy's Name to a DefId | Tobias Schottdorf | -5/+2 | |
| Part of #42171, in preparation for downgrading the contained `TraitRef` to only its `substs`. | ||||
| 2017-04-30 | intern CodeExtents | Niko Matsakis | -1/+1 | |
| Make a `CodeExtent<'tcx>` be something allocated in an arena instead of an index into the `RegionMaps`. | ||||
| 2017-04-11 | add Subtype predicate | Niko Matsakis | -2/+33 | |
| 2017-03-26 | store a copy of the Issue32230 info within TypeError | Ariel Ben-Yehuda | -4/+6 | |
| The data can't be looked up from the region variable directly, because the region variable might have been destroyed at the end of a snapshot. Fixes #40000. Fixes #40743. | ||||
| 2017-03-10 | Add extra methods to IndexVec and implement TypeFoldable for it | James Miller | -0/+11 | |
| Adds `get`/`get_mut` accessors and `drain`/`drain_enumerated` iterators to IndexVec. Implements TypeFoldable for IndexVec. | ||||
| 2017-02-25 | rustc: combine BareFnTy and ClosureTy into FnSig. | Eduard-Mihai Burtescu | -50/+4 | |
| 2017-02-25 | rustc: store type parameter defaults outside of ty::Generics. | Eduard-Mihai Burtescu | -35/+1 | |
| 2017-02-03 | Add warning for () to ! switch | Andrew Cann | -2/+2 | |
| 2017-01-30 | Merge ty::TyBox into ty::TyAdt | Vadim Petrochenkov | -2/+0 | |
| 2017-01-28 | rustc: remove unused `bounds` field from `RegionParameterDef`. | Eduard-Mihai Burtescu | -17/+1 | |
| 2017-01-28 | rustc: move object default lifetimes to resolve_lifetimes. | Eduard-Mihai Burtescu | -25/+1 | |
| 2016-12-05 | Refactor FnSig to contain a Slice for its inputs and outputs. | Mark-Simulacrum | -8/+12 | |
| 2016-12-05 | Refactor ty::FnSig to privatize all fields | Mark-Simulacrum | -11/+7 | |
| 2016-11-28 | Refactor TyTrait to contain a interned ExistentialPredicate slice. | Mark-Simulacrum | -12/+28 | |
| Renames TyTrait to TyDynamic. | ||||
| 2016-11-28 | Remove BuiltinBound and BuiltinBounds. | Mark-Simulacrum | -11/+0 | |
| 2016-11-28 | Refactor BuiltinBounds to Vec<DefId> on TraitObject. | Mark-Simulacrum | -1/+1 | |
| 2016-11-28 | Privatize TraitObject.principal and add a method accessor, returning Option. | Mark-Simulacrum | -7/+7 | |
| 2016-11-28 | rustc_privacy: visit Ty instead of HIR types in EmbargoVisitor. | Eduard-Mihai Burtescu | -0/+34 | |
| 2016-11-24 | Avoid more unnecessary mk_ty calls in Ty::super_fold_with. | Nicholas Nethercote | -1/+6 | |
| This speeds up several rustc-benchmarks by 1--5%. | ||||
| 2016-11-12 | rustc: move closure upvar types to the closure substs | Ariel Ben-Yehuda | -8/+4 | |
| This moves closures to the (DefId, Substs) scheme like all other items, and saves a word from the size of TyS now that Substs is 2 words. | ||||
| 2016-11-11 | Avoid unnecessary mk_ty calls in Ty::super_fold_with. | Nicholas Nethercote | -1/+1 | |
| This speeds up compilation of several rustc-benchmarks by 1--2% and the workload in #36799 by 5%. | ||||
| 2016-11-02 | rustc: record the target type of every adjustment. | Eduard Burtescu | -12/+12 | |
| 2016-10-25 | Utilize AccumulateVec to avoid heap allocations in mk_{substs, type_list, ↵ | Mark-Simulacrum | -2/+3 | |
| tup} calls. | ||||
| 2016-10-19 | Use TypedArena::alloc_slice in rustc. | Mark-Simulacrum | -2/+2 | |
| 2016-10-19 | Rollup merge of #37117 - pnkfelix:may-dangle-attr, r=nikomatsakis | Eduard-Mihai Burtescu | -0/+2 | |
| `#[may_dangle]` attribute `#[may_dangle]` attribute Second step of #34761. Last big hurdle before we can work in earnest towards Allocator integration (#32838) Note: I am not clear if this is *also* a syntax-breaking change that needs to be part of a breaking-batch. | ||||
| 2016-10-14 | add a per-param-env cache to `impls_bound` | Ariel Ben-Yehuda | -17/+0 | |
| There used to be only a global cache, which led to uncached calls to trait selection when there were type parameters. I'm running a check that there are no adverse performance effects. Fixes #37106 (drop elaboration times are now ~half of borrow checking, so might still be worthy of optimization, but not critical). | ||||
| 2016-10-11 | Thread `pure_wrt_drop` field through lifetime and type parameters. | Felix S. Klock II | -0/+2 | |
| 2016-09-28 | Remove unused `TypeError` variants | Jonas Schievink | -7/+0 | |
| These weren't flagged by the lint because they were still technically created somewhere... if you created them before, somehow. | ||||
| 2016-09-20 | rustc_metadata: remove ty{en,de}code and move to auto-derived serialization. | Eduard Burtescu | -12/+1 | |
| 2016-09-08 | Refactor `TyStruct`/`TyEnum`/`TyUnion` into `TyAdt` | Vadim Petrochenkov | -6/+2 | |
| 2016-09-03 | Add union types | Vadim Petrochenkov | -0/+2 | |
| 2016-09-01 | turn the RFC1592 warnings into hard errors | Ariel Ben-Yehuda | -6/+0 | |
| The warnings have already reached stable The test rfc1592_deprecated is covered by `bad_sized` and `unsized6`. Fixes #33242 Fixes #33243 | ||||
| 2016-08-27 | rustc: pass ty::Region behind an interned 'tcx reference. | Eduard Burtescu | -34/+16 | |
| 2016-08-27 | rustc: use accessors for Substs::{types,regions}. | Eduard Burtescu | -17/+0 | |
| 2016-08-17 | rustc: remove ParamSpace from Substs. | Eduard Burtescu | -13/+1 | |
| 2016-08-17 | rustc: split GenericPredicates of a method from its parent predicates. | Eduard Burtescu | -12/+0 | |
| 2016-08-17 | rustc: split Generics of a method from its parent Generics. | Eduard Burtescu | -14/+0 | |
| 2016-08-17 | rustc: reduce Substs and Generics to a simple immutable API. | Eduard Burtescu | -20/+6 | |
| 2016-08-17 | rustc: move trait objects from TraitRef to ExistentialTraitRef. | Eduard Burtescu | -29/+61 | |
