about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2019-10-02 15:53:36 -0700
committerEsteban Küber <esteban@kuber.com.ar>2019-10-02 16:19:35 -0700
commitde815653eda51093d31a41ada7041f48d7417866 (patch)
tree21c23d4eb92e4afa4bf9ced036d58bbb6b1d35d6
parenta5cfc4011d6981437ea65ec5adc346b114e29a52 (diff)
downloadrust-de815653eda51093d31a41ada7041f48d7417866.tar.gz
rust-de815653eda51093d31a41ada7041f48d7417866.zip
review comments
-rw-r--r--src/librustc_typeck/outlives/utils.rs14
-rw-r--r--src/test/ui/associated-types/issue-64855-2.rs5
2 files changed, 8 insertions, 11 deletions
diff --git a/src/librustc_typeck/outlives/utils.rs b/src/librustc_typeck/outlives/utils.rs
index cd92189176e..d34605dc482 100644
--- a/src/librustc_typeck/outlives/utils.rs
+++ b/src/librustc_typeck/outlives/utils.rs
@@ -1,7 +1,6 @@
 use rustc::ty::outlives::Component;
 use rustc::ty::subst::{GenericArg, GenericArgKind};
 use rustc::ty::{self, Region, RegionKind, Ty, TyCtxt};
-use syntax_pos::DUMMY_SP;
 use smallvec::smallvec;
 use std::collections::BTreeSet;
 
@@ -162,18 +161,11 @@ fn is_free_region(tcx: TyCtxt<'_>, region: Region<'_>) -> bool {
         // ignore it.  We can't put it on the struct header anyway.
         RegionKind::ReLateBound(..) => false,
 
-        // This can appear with malformed code (#64855):
+        // This can appear in `where Self: ` bounds (#64855):
         //
         //     struct Bar<T>(<Self as Foo>::Type) where Self: ;
-        //
-        // We accept it only to avoid an ICE.
-        RegionKind::ReEmpty => {
-            tcx.sess.delay_span_bug(
-                DUMMY_SP,
-                &format!("unexpected region in outlives inference: {:?}", region),
-            );
-            false
-        }
+        //     struct Baz<'a>(&'a Self) where Self: ;
+        RegionKind::ReEmpty => false,
 
         // These regions don't appear in types from type declarations:
         RegionKind::ReErased
diff --git a/src/test/ui/associated-types/issue-64855-2.rs b/src/test/ui/associated-types/issue-64855-2.rs
new file mode 100644
index 00000000000..1d53bd57031
--- /dev/null
+++ b/src/test/ui/associated-types/issue-64855-2.rs
@@ -0,0 +1,5 @@
+// check-pass
+
+pub struct Bar<'a>(&'a Self) where Self: ;
+
+fn main() {}