about summary refs log tree commit diff
diff options
context:
space:
mode:
authorricked-twice <39213807+ricked-twice@users.noreply.github.com>2022-05-03 22:23:30 +0200
committerricked-twice <39213807+ricked-twice@users.noreply.github.com>2022-05-03 22:23:30 +0200
commit574bee35fb2ea0a94e5045bc714ab3884500648e (patch)
treefdb26bfb6bacb02ffd1e5b6935b75f91ad22f773
parentbfcd191905ce48c5b746af12c2995ef535d61b83 (diff)
downloadrust-574bee35fb2ea0a94e5045bc714ab3884500648e.tar.gz
rust-574bee35fb2ea0a94e5045bc714ab3884500648e.zip
Taking review hints into account.
-rw-r--r--compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs2
-rw-r--r--src/test/ui/suggestions/issue-96223.rs7
-rw-r--r--src/test/ui/suggestions/issue-96223.stderr8
3 files changed, 8 insertions, 9 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs b/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs
index fcf188228dc..bfb8ce6f105 100644
--- a/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs
+++ b/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs
@@ -866,7 +866,7 @@ impl<'a, 'tcx> InferCtxtExt<'tcx> for InferCtxt<'a, 'tcx> {
                 return false;
             }
 
-            // This is a quick fix to resolve an ICE ([issue#96223](https://github.com/rust-lang/rust/issues/96223)).
+            // This is a quick fix to resolve an ICE (#96223).
             // This change should probably be deeper.
             // As suggested by @jackh726, `mk_trait_obligation_with_new_self_ty` could take a `Binder<(TraitRef, Ty)>
             // instead of `Binder<Ty>` leading to some changes to its call places.
diff --git a/src/test/ui/suggestions/issue-96223.rs b/src/test/ui/suggestions/issue-96223.rs
index 501373d96ab..85667bb849b 100644
--- a/src/test/ui/suggestions/issue-96223.rs
+++ b/src/test/ui/suggestions/issue-96223.rs
@@ -1,6 +1,5 @@
-// Test case for #96223.
-// An ICE was triggered because of a failed assertion.
-// Thanks to @Manishearth for the minimal test case.
+// Previously ICEd because we didn't properly track binders in suggestions
+// check-fail
 
 pub trait Foo<'de>: Sized {}
 
@@ -47,7 +46,7 @@ fn icey_bounds<D: Dummy<EmptyMarker>>(p: &D) {}
 
 fn trigger_ice() {
     let p = Empty;
-    icey_bounds(&p); //~ERROR
+    icey_bounds(&p); //~ERROR the trait bound
 }
 
 fn main() {}
diff --git a/src/test/ui/suggestions/issue-96223.stderr b/src/test/ui/suggestions/issue-96223.stderr
index 2737ebe517b..513725d9962 100644
--- a/src/test/ui/suggestions/issue-96223.stderr
+++ b/src/test/ui/suggestions/issue-96223.stderr
@@ -1,5 +1,5 @@
 error[E0277]: the trait bound `for<'de> EmptyBis<'de>: Foo<'_>` is not satisfied
-  --> $DIR/issue-96223.rs:50:17
+  --> $DIR/issue-96223.rs:49:17
    |
 LL |     icey_bounds(&p);
    |     ----------- ^^ the trait `for<'de> Foo<'_>` is not implemented for `EmptyBis<'de>`
@@ -8,17 +8,17 @@ LL |     icey_bounds(&p);
    |
    = help: the trait `Foo<'de>` is implemented for `Baz<T>`
 note: required because of the requirements on the impl of `for<'de> Foo<'de>` for `Baz<EmptyBis<'de>>`
-  --> $DIR/issue-96223.rs:17:14
+  --> $DIR/issue-96223.rs:16:14
    |
 LL | impl<'de, T> Foo<'de> for Baz<T> where T: Foo<'de> {}
    |              ^^^^^^^^     ^^^^^^
 note: required because of the requirements on the impl of `Dummy<EmptyMarker>` for `Empty`
-  --> $DIR/issue-96223.rs:21:9
+  --> $DIR/issue-96223.rs:20:9
    |
 LL | impl<M> Dummy<M> for Empty
    |         ^^^^^^^^     ^^^^^
 note: required by a bound in `icey_bounds`
-  --> $DIR/issue-96223.rs:46:19
+  --> $DIR/issue-96223.rs:45:19
    |
 LL | fn icey_bounds<D: Dummy<EmptyMarker>>(p: &D) {}
    |                   ^^^^^^^^^^^^^^^^^^ required by this bound in `icey_bounds`