summary refs log tree commit diff
path: root/src/librustc/traits/specialize
AgeCommit message (Collapse)AuthorLines
2018-03-29Auto merge of #49313 - sgrif:sg-revert-stuff, r=nikomatsakisbors-1/+1
Remove universes from `ty::ParamEnv` This change was never meant to land. #48407 takes an alternate approach. However, that PR is now blocked on some issues with canonicalization, and rebasing these reverts gets harder each time, so let's just get this bit out of the way now. r? @nikomatsakis
2018-03-23Revert "add universes to type inference variables"Sean Griffin-1/+1
This reverts commit 13efaf0481275dba18f1d18f4b59b664b2d2031a.
2018-03-23import trait engine to typeckcsmoe-1/+1
2018-03-21work around fallout from these changes in rustcNiko Matsakis-6/+12
2018-03-14Cache the specialization_graph queryWesley Wiser-0/+2
Fixes #48987
2018-03-13refactor `ParamEnv::empty(Reveal)` into two distinct methodsNiko Matsakis-2/+2
- `ParamEnv::empty()` -- does not reveal all, good for typeck - `ParamEnv::reveal_all()` -- does, good for trans - `param_env.with_reveal_all()` -- converts an existing parameter environment
2018-03-08Add InterpretInterner to StableHashingContext for AllocId serializationOliver Schneider-2/+2
2018-03-05Turn features() into a query.Michael Woerister-1/+1
2018-03-02Run Rustfix on librustcManish Goregaokar-2/+2
2018-03-02Replace Rc with Lrc for shared dataJohn Kåre Alsaker-5/+5
2018-03-01add universes to type inference variablesNiko Matsakis-1/+1
2018-02-25Make comment into a doc comment and change readme refMark Mansi-8/+10
2018-01-30change `overlapping_impls` to take a tcx and create the infcxNiko Matsakis-33/+29
2018-01-30make `overlapping_impls` call closures instead of returningNiko Matsakis-25/+26
2017-12-17Use def span for conflicting impls and recursive fnEsteban Küber-4/+8
2017-12-05convert the new conflicts to a soft errorAriel Ben-Yehuda-33/+74
2017-11-25commentsAriel Ben-Yehuda-0/+11
2017-11-25avoid type-live-for-region obligations on dummy nodesAriel Ben-Yehuda-1/+1
Type-live-for-region obligations on DUMMY_NODE_ID cause an ICE, and it turns out that in the few cases they are needed, these obligations are not needed anyway because they are verified elsewhere. Fixes #46069.
2017-10-23Print the conflicting impl on E0119 with external crate.kennytm-2/+60
2017-10-06Improve resolution of associated types in macros 2.0Vadim Petrochenkov-4/+7
2017-09-18incr.comp.: Remove tcx from StableHashingContext.Michael Woerister-2/+2
2017-09-18incr.comp.: Use StableHash impls instead of functions for hashing most maps.Michael Woerister-17/+4
2017-09-18incr.comp.: Compute hashes of all query results.Michael Woerister-0/+34
2017-09-05Print more detailed trait-ref for intercrate ambiguity.Masaki Hara-1/+1
2017-09-05Unify intercrate ambiguity emitters into a function.Masaki Hara-11/+1
2017-09-05Slightly modify hint messages.Masaki Hara-2/+2
2017-09-05Add hints when intercrate ambiguity causes overlap.Masaki Hara-3/+20
2017-08-29rustc: Remove `specailization_cache` in favor of a queryAlex Crichton-15/+9
This commit removes the `specialization_cache` field of `TyCtxt` by moving it to a dedicated query, which it turned out was already quite easily structured to do so!
2017-08-12Fix some typosBastien Orivel-2/+2
2017-08-11Fix some typosBastien Orivel-1/+1
2017-08-08make `for_all_relevant_impls` O(1) againAriel Ben-Yehuda-1/+2
A change in #41911 had made `for_all_relevant_impls` do a linear scan over all impls, instead of using an HashMap. Use an HashMap again to avoid quadratic blowup when there is a large number of structs with impls. I think this fixes #43141 completely, but I want better measurements in order to be sure. As a perf patch, please don't roll this up.
2017-07-23Fix some doc/comment typos.Bruce Mitchener-4/+4
2017-06-10rustc: make the comon case of tcx.infer_ctxt(()) nicer.Eduard-Mihai Burtescu-3/+3
2017-06-01ergonomic improvements to the methods in infcxNiko Matsakis-5/+2
2017-06-01strip param-env from infcxNiko Matsakis-14/+24
2017-06-01move projection mode into parameter environmentNiko Matsakis-3/+3
2017-05-22rename `parameter_environment` to `param_env`Niko Matsakis-2/+2
2017-05-15Share lists of blanket impls in results of relevant_impls_for() query.Michael Woerister-1/+13
2017-05-15Remove interior mutability from TraitDef by turning fields into queries.Michael Woerister-10/+65
2017-05-13rustc: treat ReEarlyBound as free without replacing it with ReFree.Eduard-Mihai Burtescu-3/+1
2017-05-13rustc: uniformly compute ParameterEnvironment's "free outlive scope".Eduard-Mihai Burtescu-3/+1
2017-04-30remove ROOT_CODE_EXTENT and DUMMY_CODE_EXTENTNiko Matsakis-2/+1
Instead, thread around `Option<CodeExtent>` where applicable.
2017-04-24rustc: rename some of the queries to match tcx methods.Eduard-Mihai Burtescu-2/+2
2017-04-19propagate other obligations that were left outNiko Matsakis-4/+3
cc #32730 -- I left exactly one instance where I wasn't sure of the right behavior.
2017-04-15rustc: ban registering obligations during InferCtxt snapshots.Eduard-Mihai Burtescu-1/+1
2017-04-14Further update with response to feedbackSean Griffin-8/+2
2017-04-14Implement RFC 1268Sean Griffin-0/+10
This patch allows overlap to occur between any two impls of a trait for traits which have no associated items. Several compile-fail tests around coherence had to be changed to add at least one item to the trait they test against. Ref #29864
2017-03-18resolve instances to ty::Instance directlyAriel Ben-Yehuda-13/+12
This removes the duplication between collector, callee, and (eventually) MIRI.
2017-03-13some style fixesTshepang Lekhonkhobe-2/+2
2017-02-25rustc_typeck: rework coherence to be almost completely on-demand.Eduard-Mihai Burtescu-2/+2