Skip to content
Merged
Show file tree
Hide file tree
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
Next Next commit
add some debug output
  • Loading branch information
nikomatsakis committed Mar 13, 2018
commit 36e5092dfa7fcc676c7d6b63f8dd692edd3399a5
3 changes: 2 additions & 1 deletion src/librustc/traits/query/dropck_outlives.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ impl<'cx, 'gcx, 'tcx> At<'cx, 'gcx, 'tcx> {
pub fn dropck_outlives(&self, ty: Ty<'tcx>) -> InferOk<'tcx, Vec<Kind<'tcx>>> {
debug!(
"dropck_outlives(ty={:?}, param_env={:?})",
ty, self.param_env,
ty,
self.param_env,
);

let tcx = self.infcx.tcx;
Expand Down
6 changes: 6 additions & 0 deletions src/librustc/traits/query/normalize.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,12 @@ impl<'cx, 'gcx, 'tcx> At<'cx, 'gcx, 'tcx> {
where
T: TypeFoldable<'tcx>,
{
debug!(
"normalize::<{}>(value={:?}, param_env={:?})",
unsafe { ::std::intrinsics::type_name::<T>() },
value,
self.param_env,
);
let mut normalizer = QueryNormalizer {
infcx: self.infcx,
cause: self.cause,
Expand Down
7 changes: 7 additions & 0 deletions src/librustc/traits/query/normalize_erasing_regions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,13 @@ impl<'cx, 'tcx> TyCtxt<'cx, 'tcx, 'tcx> {
where
T: TypeFoldable<'tcx>,
{
debug!(
"normalize_erasing_regions::<{}>(value={:?}, param_env={:?})",
unsafe { ::std::intrinsics::type_name::<T>() },
value,
param_env,
);

// Erase first before we do the real query -- this keeps the
// cache from being too polluted.
let value = self.erase_regions(&value);
Expand Down