Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
f873c1e
require `Lifted` types to outlive `'tcx`
nikomatsakis Feb 14, 2018
23837c1
improve TypeFoldable/Lift macros and make a bunch of stuff use them
nikomatsakis Feb 9, 2018
5ddcd09
add `TypeRelation` and `Lift` impls for `Kind`
nikomatsakis Feb 9, 2018
10ae216
fix typo in comment
nikomatsakis Feb 9, 2018
d0aff85
make regions "traceable" so you can do `infcx.at(..).eq(r1, r2)`
nikomatsakis Feb 9, 2018
0037cca
comment the purpose of `TransNormalize`
nikomatsakis Feb 9, 2018
652b3b7
random reformatting
nikomatsakis Feb 21, 2018
1d377d1
add handy helper for Cell<usize>, used for perf stats
nikomatsakis Feb 20, 2018
6d0f931
refactor `ParamEnv::empty(Reveal)` into two distinct methods
nikomatsakis Feb 10, 2018
64d4ed3
move ParamEnv methods from `ty/util` to `ty/mod`
nikomatsakis Feb 14, 2018
80b4c45
change `ParamEnv::and` to sometimes keep the environment [VIC]
nikomatsakis Feb 20, 2018
993c148
add `canonicalize` method to `InferCtxt` [VIC]
nikomatsakis Feb 9, 2018
8c024fd
in `Foo(X)` dep-nodes, allow X to be a `ty` not a `tt`
nikomatsakis Feb 23, 2018
3a50b41
introduce `infcx.at(..).normalize(..)` operation [VIC]
nikomatsakis Feb 25, 2018
ca87d24
introduce `infcx.at(..).dropck_outlives(..)` operaton [VIC]
nikomatsakis Feb 21, 2018
211d9ad
introduce `tcx.normalize_erasing_regions(..)` operaton [VIC]
nikomatsakis Feb 21, 2018
e4728e4
transition various normalization functions to the new methods
nikomatsakis Mar 3, 2018
0a2ac85
move `drain_fulfillment_cx_or_panic` to be private to traits::trans
nikomatsakis Feb 13, 2018
36e5092
add some debug output
nikomatsakis Feb 26, 2018
1e4e632
add regression tests for various MIR bugs that get fixed
nikomatsakis Feb 27, 2018
03c5428
short-circuit `dropck_outlives` for simple cases
nikomatsakis Mar 7, 2018
0d17f95
short-circuit work when instantiating query responses
nikomatsakis Mar 7, 2018
6288faa
`trans_apply_param_substs` => `subst_and_normalize_erasing_regions`
nikomatsakis Mar 9, 2018
fc04c41
add a debug assertion that only outlives-oblig. result from norm.
nikomatsakis Mar 9, 2018
d326738
replace inline docs with references to rustc-guide
nikomatsakis Mar 11, 2018
29dc902
remove dead code
nikomatsakis Mar 11, 2018
17c4103
add "text" sections for things that seem likely to be a problem
nikomatsakis Mar 11, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
add "text" sections for things that seem likely to be a problem
  • Loading branch information
nikomatsakis committed Mar 13, 2018
commit 17c4103f3f0cc8bd4dea9de5e7ef155daf363cfe
8 changes: 6 additions & 2 deletions src/librustc/infer/canonical.rs
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,9 @@ impl<'cx, 'gcx, 'tcx> InferCtxt<'cx, 'gcx, 'tcx> {
/// *also* replace all free regions whatsoever. So for example a
/// query like `T: Trait<'static>` would be canonicalized to
///
/// T: Trait<'?0>
/// ```text
/// T: Trait<'?0>
/// ```
///
/// with a mapping M that maps `'?0` to `'static`.
///
Expand Down Expand Up @@ -486,7 +488,9 @@ impl<'cx, 'gcx, 'tcx> InferCtxt<'cx, 'gcx, 'tcx> {
/// there was an input query `T: Trait<'static>`, it would have
/// been canonicalized to
///
/// T: Trait<'?0>
/// ```text
/// T: Trait<'?0>
/// ```
///
/// with a mapping M that maps `'?0` to `'static`. But if we found that there
/// exists only one possible impl of `Trait`, and it looks like
Expand Down