| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2017-10-23 | Print the conflicting impl on E0119 with external crate. | kennytm | -2/+60 | |
| 2017-10-06 | Improve resolution of associated types in macros 2.0 | Vadim Petrochenkov | -4/+7 | |
| 2017-09-18 | incr.comp.: Remove tcx from StableHashingContext. | Michael Woerister | -2/+2 | |
| 2017-09-18 | incr.comp.: Use StableHash impls instead of functions for hashing most maps. | Michael Woerister | -17/+4 | |
| 2017-09-18 | incr.comp.: Compute hashes of all query results. | Michael Woerister | -0/+34 | |
| 2017-09-05 | Print more detailed trait-ref for intercrate ambiguity. | Masaki Hara | -1/+1 | |
| 2017-09-05 | Unify intercrate ambiguity emitters into a function. | Masaki Hara | -11/+1 | |
| 2017-09-05 | Slightly modify hint messages. | Masaki Hara | -2/+2 | |
| 2017-09-05 | Add hints when intercrate ambiguity causes overlap. | Masaki Hara | -3/+20 | |
| 2017-08-29 | rustc: Remove `specailization_cache` in favor of a query | Alex 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-12 | Fix some typos | Bastien Orivel | -2/+2 | |
| 2017-08-11 | Fix some typos | Bastien Orivel | -1/+1 | |
| 2017-08-08 | make `for_all_relevant_impls` O(1) again | Ariel 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-23 | Fix some doc/comment typos. | Bruce Mitchener | -4/+4 | |
| 2017-06-10 | rustc: make the comon case of tcx.infer_ctxt(()) nicer. | Eduard-Mihai Burtescu | -3/+3 | |
| 2017-06-01 | ergonomic improvements to the methods in infcx | Niko Matsakis | -5/+2 | |
| 2017-06-01 | strip param-env from infcx | Niko Matsakis | -14/+24 | |
| 2017-06-01 | move projection mode into parameter environment | Niko Matsakis | -3/+3 | |
| 2017-05-22 | rename `parameter_environment` to `param_env` | Niko Matsakis | -2/+2 | |
| 2017-05-15 | Share lists of blanket impls in results of relevant_impls_for() query. | Michael Woerister | -1/+13 | |
| 2017-05-15 | Remove interior mutability from TraitDef by turning fields into queries. | Michael Woerister | -10/+65 | |
| 2017-05-13 | rustc: treat ReEarlyBound as free without replacing it with ReFree. | Eduard-Mihai Burtescu | -3/+1 | |
| 2017-05-13 | rustc: uniformly compute ParameterEnvironment's "free outlive scope". | Eduard-Mihai Burtescu | -3/+1 | |
| 2017-04-30 | remove ROOT_CODE_EXTENT and DUMMY_CODE_EXTENT | Niko Matsakis | -2/+1 | |
| Instead, thread around `Option<CodeExtent>` where applicable. | ||||
| 2017-04-24 | rustc: rename some of the queries to match tcx methods. | Eduard-Mihai Burtescu | -2/+2 | |
| 2017-04-19 | propagate other obligations that were left out | Niko Matsakis | -4/+3 | |
| cc #32730 -- I left exactly one instance where I wasn't sure of the right behavior. | ||||
| 2017-04-15 | rustc: ban registering obligations during InferCtxt snapshots. | Eduard-Mihai Burtescu | -1/+1 | |
| 2017-04-14 | Further update with response to feedback | Sean Griffin | -8/+2 | |
| 2017-04-14 | Implement RFC 1268 | Sean 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-18 | resolve instances to ty::Instance directly | Ariel Ben-Yehuda | -13/+12 | |
| This removes the duplication between collector, callee, and (eventually) MIRI. | ||||
| 2017-03-13 | some style fixes | Tshepang Lekhonkhobe | -2/+2 | |
| 2017-02-25 | rustc_typeck: rework coherence to be almost completely on-demand. | Eduard-Mihai Burtescu | -2/+2 | |
| 2017-01-06 | rustc: keep track of tables everywhere as if they were per-body. | Eduard-Mihai Burtescu | -3/+3 | |
| 2016-12-05 | erase lifetimes when translating specialized substs | Ariel Ben-Yehuda | -0/+1 | |
| Projections can generate lifetime variables with equality constraints, that will not be resolved by `resolve_type_vars_if_possible`, so substs need to be lifetime-erased after that. Fixes #36848. | ||||
| 2016-11-29 | rustc: remove type information from TraitDef. | Eduard-Mihai Burtescu | -8/+6 | |
| 2016-11-15 | remove TypeOrigin and use ObligationCause instead | Niko Matsakis | -3/+5 | |
| In general having all these different structs for "origins" is not great, since equating types can cause obligations and vice-versa. I think we should gradually collapse these things. We almost certainly also need to invest a big more energy into the `error_reporting` code to rationalize it: this PR does kind of the minimal effort in that direction. | ||||
| 2016-11-10 | rustc: unify and simplify managing associated items. | Eduard Burtescu | -129/+16 | |
| 2016-11-08 | Replace FnvHasher use with FxHasher. | Nicholas Nethercote | -6/+6 | |
| This speeds up compilation by 3--6% across most of rustc-benchmarks. | ||||
| 2016-11-06 | rustc: harden against InferOk having obligations in more cases. | Eduard Burtescu | -9/+13 | |
| 2016-11-02 | just use full-normalization when for the impl trait ref | Niko Matsakis | -15/+10 | |
| This seems better because I want to avoid the situation where unresolved inference variables make it into the environment. On the other hand, I am not 100% sure that this is correct. My assumption was that the WF check should ensure that this normalization can succeed. But it occurs to me that the WF checks may need to make use of the `specializes` predicate themselves, and hence we may have a kind of cycle here (this is a bigger problem with spec in any case that we need to resolve). On the other hand, this should just cause extra errors I think, so it seems like a safe thing to attempt. Certainly all tests pass. | ||||
| 2016-11-02 | normalize trait-ref in context of impl | Niko Matsakis | -8/+8 | |
| The `specializes()` function was trying to normalize the impl trait in an empty environment. This could lead to inexplicable failures. | ||||
| 2016-09-20 | rustc_trans: simplify vtable and symbol handling. | Eduard Burtescu | -1/+38 | |
| 2016-09-20 | rustc: remove ImplOrTraitItemId and TraitDef's associated_type_names. | Eduard Burtescu | -2/+2 | |
| 2016-09-20 | rustc_metadata: move more RBML tags to auto-serialization. | Eduard Burtescu | -47/+16 | |
| 2016-09-14 | clear obligations-added flag with nested fulfillcx | Niko Matsakis | -22/+24 | |
| This flag is a debugging measure designed to detect cases where we start a snapshot, create type variables, register obligations involving those type variables in the fulfillment cx, and then have to unroll the snapshot, leaving "dangling type variables" behind. HOWEVER, in some cases the flag is wrong. In particular, we sometimes create a "mini-fulfilment-cx" in which we enroll obligations. As long as this fulfillment cx is fully drained before we return, this is not a problem, as there won't be any escaping obligations in the main cx. So we add a fn to save/restore the flag. | ||||
| 2016-08-31 | remove `normalize_infer_ctxt` constructor | Niko Matsakis | -1/+1 | |
| 2016-08-31 | remove unneccessary uses of `drain_fulfillment_cx` | Niko Matsakis | -16/+19 | |
| There were various places that we are invoking `drain_fulfillment_cx` with a "result" of `()`. This is kind of pointless, since it amounts to just a call to `select_all_or_error` along with some extra overhead. | ||||
| 2016-08-17 | rustc: remove ParamSpace from Substs. | Eduard Burtescu | -5/+4 | |
| 2016-08-17 | rustc: reduce Substs and Generics to a simple immutable API. | Eduard Burtescu | -18/+14 | |
| 2016-08-12 | rustc: rename ProjectionMode and its variant to be more memorable. | Eduard Burtescu | -5/+4 | |
