]> git.lizzy.rs Git - rust.git/commitdiff
review comments
authorEsteban Küber <esteban@kuber.com.ar>
Wed, 2 Oct 2019 22:53:36 +0000 (15:53 -0700)
committerEsteban Küber <esteban@kuber.com.ar>
Wed, 2 Oct 2019 23:19:35 +0000 (16:19 -0700)
src/librustc_typeck/outlives/utils.rs
src/test/ui/associated-types/issue-64855-2.rs [new file with mode: 0644]

index cd92189176eff8d2cb45c23074b691330df29c94..d34605dc482a3b084a98f23c494e1fa93951f21b 100644 (file)
@@ -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 (file)
index 0000000..1d53bd5
--- /dev/null
@@ -0,0 +1,5 @@
+// check-pass
+
+pub struct Bar<'a>(&'a Self) where Self: ;
+
+fn main() {}