about summary refs log tree commit diff
path: root/src/librustc/ty/structural_impls.rs
AgeCommit message (Collapse)AuthorLines
2018-03-23Revert "introduce `UniverseIndex` into `ParamEnv`"Sean Griffin-24/+2
This reverts commit d4df52cacbee5d95e912a43188192a5054d36b4f.
2018-03-17Replace Rc with LrcJohn Kåre Alsaker-1/+2
2018-03-14remove defaulting to unitAndrew Cann-2/+2
Types will no longer default to `()`, instead always defaulting to `!`. This disables the associated warning and removes the flag from TyTuple
2018-03-13improve TypeFoldable/Lift macros and make a bunch of stuff use themNiko Matsakis-414/+127
Improvements: - Use Clone not Copy for the "simple cases" - Separate TypeFoldable and Lift for the "simple cases" - Support generics type parameters - Support named fields in enum variants - etc
2018-03-08Const eval will oom together with rustc nowOliver Schneider-5/+0
2018-03-08Const eval error refactoringOliver Schneider-0/+1
2018-03-08Add stack traces to miri errorsOliver Schneider-5/+5
2018-03-08Remove unused error variants and const eval typesOliver Schneider-12/+0
2018-03-08Wrap the miri ErrorKind in an Rc to reduce work in queriesOliver Schneider-2/+2
2018-03-08Prepare for using miri in transAlexander Regueiro-1/+51
2018-03-08Nuke the entire ctfe from orbit, it's the only way to be sureOliver Schneider-67/+2
2018-03-08Produce instead of pointersOliver Schneider-0/+55
2018-03-08Add miri errors to the const eval error enumOliver Schneider-0/+112
2018-03-08Add a variant to ConstVal for storing miri resultsOliver Schneider-0/+2
2018-03-04Remove ty::Predicate::Equate and ty::EquatePredicate (dead code)Tatsuyuki Ishi-24/+0
2018-03-01kill supporting code from type-variable defaultsNiko Matsakis-28/+1
This was all unused anyway.
2018-03-01introduce `UniverseIndex` into `ParamEnv`Niko Matsakis-2/+24
Always using root environment for now.
2018-01-23Adds support for immovable generators. Move checking of invalid borrows ↵John Kåre Alsaker-2/+7
across suspension points to borrowck. Fixes #44197, #45259 and #45093.
2017-11-26Auto merge of #46203 - nikomatsakis:type-foldable-macro, r=eddybbors-156/+203
introduce macros for type-foldable and lift, convert stuff to use them A random commit from a branch I've shelved for the time being that made `TypeFoldable` stuff a bit less annoying to write. r? @eddyb
2017-11-25Conform namesShotaro Yamada-1/+1
2017-11-24Do match-check before const MIR generationShotaro Yamada-0/+1
2017-11-23introduce macros for type-foldable, convert stuff to use themNiko Matsakis-156/+203
2017-11-18give better error messages when a cycle arisesNiko Matsakis-3/+3
2017-11-18make `ty::Predicate` carry a `ClosureSubsts`Niko Matsakis-5/+9
2017-11-17make LUB/GLB of higher-ranked things actually do EQNiko Matsakis-1/+4
2017-10-27Implement RFC 1861: Extern typesPaul Lietar-2/+2
2017-09-11rustc: evaluate fixed-length array length expressions lazily.Eduard-Mihai Burtescu-1/+119
2017-09-11rustc: use ty::Const for the length of TyArray.Eduard-Mihai Burtescu-2/+2
2017-09-11rustc: introduce ty::Const { ConstVal, Ty }.Eduard-Mihai Burtescu-0/+93
2017-09-03rustc_mir: use Local in ProjectionElem::Index.Eduard-Mihai Burtescu-1/+1
2017-09-01rustc: take TyCtxt and RegionMaps in CodeMap::span.Eduard-Mihai Burtescu-15/+1
2017-08-16Merge remote-tracking branch 'origin/master' into genAlex Crichton-1/+1
2017-08-15use field init shorthand EVERYWHEREZack M. Davis-1/+1
Like #43008 (f668999), but _much more aggressive_.
2017-08-09Initial pass review commentsAlex Crichton-4/+4
2017-08-09Merge remote-tracking branch 'origin/master' into genAlex Crichton-14/+10
2017-07-29Cleanup some remains of `hr_lifetime_in_assoc_type` compatibility lintVadim Petrochenkov-14/+10
2017-07-28Remove support for `gen arg`Alex Crichton-5/+2
2017-07-28Rename suspend to yieldJohn Kåre Alsaker-5/+5
2017-07-28Fix tidy warningsAlex Crichton-9/+14
2017-07-28Generator literal supportJohn Kåre Alsaker-0/+59
2017-07-27rustc_const_eval: keep track of the appropriate ParamEnv.Eduard-Mihai Burtescu-1/+1
2017-07-11Downgrade ProjectionTy's TraitRef to its substsTobias Schottdorf-18/+17
Addresses the second part of #42171 by removing the `TraitRef` from `ProjectionTy`, and directly storing its `Substs`. Closes #42171.
2017-07-08Implemented `TypeFoldable` for `TypeError`s.Inokentiy Babushkin-0/+90
2017-07-05use field init shorthand in src/librustcZack 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-27rustc: move the PolyFnSig out of TyFnDef.Eduard-Mihai Burtescu-7/+3
2017-06-01strip param-env from infcxNiko Matsakis-0/+25
2017-06-01Auto merge of #42281 - eddyb:well-adjusted, r=nikomatsakisbors-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-01rustc: decompose Adjustment into a vector of adjustment steps.Eduard-Mihai Burtescu-22/+25
2017-06-01rustc: move autoref and unsize from Adjust::DerefRef to Adjustment.Eduard-Mihai Burtescu-17/+18
2017-06-01rustc: replace autoderefs' use of MethodCallee with OverloadedDeref.Eduard-Mihai Burtescu-0/+108