| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 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 | |
| 2016-06-23 | Move errors from libsyntax to its own crate | Jonathan Turner | -1/+1 | |
| 2016-05-25 | catch attempts to leak obligations out of snapshots | Ariel Ben-Yehuda | -42/+40 | |
| 2016-05-17 | introduce a specializes cache | Niko Matsakis | -2/+30 | |
| This query is frequently used during trait selection and caching the result can be a reasonable performance win. | ||||
| 2016-05-11 | rustc: Split local type contexts interners from the global one. | Eduard Burtescu | -5/+11 | |
| 2016-05-11 | rustc: More interning for data used in Ty<'tcx>. | Eduard Burtescu | -2/+2 | |
| 2016-05-11 | rustc: Generalize a minimum set of functions over 'tcx != 'gcx. | Eduard Burtescu | -22/+23 | |
| 2016-05-11 | rustc: Wrap users of InferCtxt in an anonymous scope. | Eduard Burtescu | -52/+67 | |
| 2016-05-11 | rustc: Split 'tcx into 'gcx and 'tcx for InferCtxt and its users. | Eduard Burtescu | -16/+23 | |
| 2016-05-11 | rustc: Replace &'a TyCtxt<'tcx> with a TyCtxt<'a, 'tcx> wrapper. | Eduard Burtescu | -23/+23 | |
| 2016-05-11 | rustc: Avoid free functions taking &TyCtxt and &InferCtxt. | Eduard Burtescu | -7/+6 | |
| 2016-05-11 | infer: Use methods for creating an InferCtxt. | Eduard Burtescu | -3/+3 | |
| 2016-04-12 | Remove unused trait imports | Seo Sanghyeon | -2/+0 | |
| 2016-04-07 | Rollup merge of #32748 - aturon:simplified-spec, r=nikomatsakis | Manish Goregaokar | -56/+149 | |
| Reinstate fast_reject for overlap checking The initial implementation of specialization did not use the `fast_reject` mechanism when checking for overlap, which caused a serious performance regression in some cases. This commit modifies the specialization graph to use simplified types for fast rejection when possible, and along the way refactors the logic for building the specialization graph. Closes #32499 r? @nikomatsakis | ||||
| 2016-04-06 | rustc: move middle::{def,def_id,pat_util} to hir. | Eduard Burtescu | -2/+2 | |
| 2016-04-05 | Reinstate fast_reject for overlap checking | Aaron Turon | -56/+149 | |
| The initial implementation of specialization did not use the `fast_reject` mechanism when checking for overlap, which caused a serious performance regression in some cases. This commit modifies the specialization graph to use simplified types for fast rejection when possible, and along the way refactors the logic for building the specialization graph. Closes #32499 | ||||
| 2016-03-31 | librustc: replace panic!() with bug!() | Benjamin Herr | -2/+2 | |
| 2016-03-31 | librustc: replace tcx.sess.bug calls with bug!() | Benjamin Herr | -4/+2 | |
| 2016-03-27 | rustc: move cfg, infer, traits and ty from middle to top-level. | Eduard Burtescu | -0/+614 | |
