summary refs log tree commit diff
path: root/src/librustc/ty/structural_impls.rs
AgeCommit message (Collapse)AuthorLines
2017-01-30Merge ty::TyBox into ty::TyAdtVadim Petrochenkov-2/+0
2017-01-28rustc: remove unused `bounds` field from `RegionParameterDef`.Eduard-Mihai Burtescu-17/+1
2017-01-28rustc: move object default lifetimes to resolve_lifetimes.Eduard-Mihai Burtescu-25/+1
2016-12-05Refactor FnSig to contain a Slice for its inputs and outputs.Mark-Simulacrum-8/+12
2016-12-05Refactor ty::FnSig to privatize all fieldsMark-Simulacrum-11/+7
2016-11-28Refactor TyTrait to contain a interned ExistentialPredicate slice.Mark-Simulacrum-12/+28
Renames TyTrait to TyDynamic.
2016-11-28Remove BuiltinBound and BuiltinBounds.Mark-Simulacrum-11/+0
2016-11-28Refactor BuiltinBounds to Vec<DefId> on TraitObject.Mark-Simulacrum-1/+1
2016-11-28Privatize TraitObject.principal and add a method accessor, returning Option.Mark-Simulacrum-7/+7
2016-11-28rustc_privacy: visit Ty instead of HIR types in EmbargoVisitor.Eduard-Mihai Burtescu-0/+34
2016-11-24Avoid 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-12rustc: move closure upvar types to the closure substsAriel 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-11Avoid 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-02rustc: record the target type of every adjustment.Eduard Burtescu-12/+12
2016-10-25Utilize AccumulateVec to avoid heap allocations in mk_{substs, type_list, ↵Mark-Simulacrum-2/+3
tup} calls.
2016-10-19Use TypedArena::alloc_slice in rustc.Mark-Simulacrum-2/+2
2016-10-19Rollup merge of #37117 - pnkfelix:may-dangle-attr, r=nikomatsakisEduard-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-14add 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-11Thread `pure_wrt_drop` field through lifetime and type parameters.Felix S. Klock II-0/+2
2016-09-28Remove unused `TypeError` variantsJonas 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-20rustc_metadata: remove ty{en,de}code and move to auto-derived serialization.Eduard Burtescu-12/+1
2016-09-08Refactor `TyStruct`/`TyEnum`/`TyUnion` into `TyAdt`Vadim Petrochenkov-6/+2
2016-09-03Add union typesVadim Petrochenkov-0/+2
2016-09-01turn the RFC1592 warnings into hard errorsAriel 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-27rustc: pass ty::Region behind an interned 'tcx reference.Eduard Burtescu-34/+16
2016-08-27rustc: use accessors for Substs::{types,regions}.Eduard Burtescu-17/+0
2016-08-17rustc: remove ParamSpace from Substs.Eduard Burtescu-13/+1
2016-08-17rustc: split GenericPredicates of a method from its parent predicates.Eduard Burtescu-12/+0
2016-08-17rustc: split Generics of a method from its parent Generics.Eduard Burtescu-14/+0
2016-08-17rustc: reduce Substs and Generics to a simple immutable API.Eduard Burtescu-20/+6
2016-08-17rustc: move trait objects from TraitRef to ExistentialTraitRef.Eduard Burtescu-29/+61
2016-08-17rustc: force all raw accesses to VecPerParamSpace through as_full_slice.Eduard Burtescu-1/+1
2016-08-13Rename empty/bang to neverAndrew Cann-2/+2
Split Ty::is_empty method into is_never and is_uninhabited
2016-08-13Remove obsolete divergence related stuffAndrew Cann-32/+0
Replace FnOutput with Ty Replace FnConverging(ty) with ty Purge FnDiverging, FunctionRetTy::NoReturn and FunctionRetTy::None
2016-08-13Start implementation of RFC 1216 (make ! a type)Andrew Cann-2/+2
Add `TyKind::Empty` and fix resulting build errors.
2016-08-12typeck: leak auto trait obligations through impl Trait.Eduard Burtescu-5/+15
2016-08-12rustc: add TyAnon (impl Trait) to the typesystem.Eduard Burtescu-0/+2
2016-07-22remove rustc_typeck::same_type_errAriel Ben-Yehuda-0/+13
2016-05-31add trailing commaNiko Matsakis-1/+1
2016-05-11rustc: Split local type contexts interners from the global one.Eduard Burtescu-0/+35
2016-05-11rustc_typeck: Generalize over 'tcx != 'gcx.Eduard Burtescu-1/+76
2016-05-11rustc: More interning for data used in Ty<'tcx>.Eduard Burtescu-40/+71
2016-05-11rustc: Generalize a minimum set of functions over 'tcx != 'gcx.Eduard Burtescu-65/+153
2016-05-11rustc: Remove the TyCtxt field from ParameterEnvironment.Eduard Burtescu-2/+1
2016-05-11rustc: Split 'tcx into 'gcx and 'tcx for InferCtxt and its users.Eduard Burtescu-8/+9
2016-05-11rustc: Replace &'a TyCtxt<'tcx> with a TyCtxt<'a, 'tcx> wrapper.Eduard Burtescu-9/+9
2016-05-03change the newly-added errors to warningsAriel Ben-Yehuda-0/+3
this commit should be reverted after a release cycle
2016-04-13Auto merge of #32780 - soltanmm:consider-the-following, r=nikomatsakisbors-0/+3
Replace consider_unification_despite_ambiguity with new obligation variant Is work towards #32730. Addresses part one of #32286. Addresses #24210 and #26046 to some degree. r? @nikomatsakis
2016-04-06Replace consider_unification_despite_ambiguity with obligation variantMasood Malekghassemi-0/+3
2016-04-06rustc: move rustc_front to rustc::hir.Eduard Burtescu-1/+1