diff options
| author | Jack Huey <jack.huey@umassmed.edu> | 2020-12-14 12:47:11 -0500 |
|---|---|---|
| committer | Jack Huey <jack.huey@umassmed.edu> | 2020-12-14 12:47:11 -0500 |
| commit | 01c25200816cb03a2bafee7b34680cde7867d979 (patch) | |
| tree | 707481242cd367526300d5464bad16dff46dec9d | |
| parent | ed80815bf2554c99c1cd140d5ce3ee7df19f90d7 (diff) | |
| download | rust-01c25200816cb03a2bafee7b34680cde7867d979.tar.gz rust-01c25200816cb03a2bafee7b34680cde7867d979.zip | |
Add explanation for skip_binder in relate
| -rw-r--r-- | compiler/rustc_middle/src/ty/relate.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/rustc_middle/src/ty/relate.rs b/compiler/rustc_middle/src/ty/relate.rs index 8a3a6305d01..af7fc429719 100644 --- a/compiler/rustc_middle/src/ty/relate.rs +++ b/compiler/rustc_middle/src/ty/relate.rs @@ -616,6 +616,7 @@ impl<'tcx> Relate<'tcx> for &'tcx ty::List<ty::Binder<ty::ExistentialPredicate<' // in `a`. let mut a_v: Vec<_> = a.into_iter().collect(); let mut b_v: Vec<_> = b.into_iter().collect(); + // `skip_binder` here is okay because `stable_cmp` doesn't look at binders a_v.sort_by(|a, b| a.skip_binder().stable_cmp(tcx, &b.skip_binder())); a_v.dedup(); b_v.sort_by(|a, b| a.skip_binder().stable_cmp(tcx, &b.skip_binder())); |
