summary refs log tree commit diff
path: root/src/librustc/ty/structural_impls.rs
AgeCommit message (Collapse)AuthorLines
2016-11-03add 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-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
2016-03-27Remove the implicit binder from `VecPerParamSpace`Jeffrey Seyfried-38/+8
2016-03-27rustc: move cfg, infer, traits and ty from middle to top-level.Eduard Burtescu-0/+815