diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2019-10-02 15:53:36 -0700 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2019-10-02 16:19:35 -0700 |
| commit | de815653eda51093d31a41ada7041f48d7417866 (patch) | |
| tree | 21c23d4eb92e4afa4bf9ced036d58bbb6b1d35d6 | |
| parent | a5cfc4011d6981437ea65ec5adc346b114e29a52 (diff) | |
| download | rust-de815653eda51093d31a41ada7041f48d7417866.tar.gz rust-de815653eda51093d31a41ada7041f48d7417866.zip | |
review comments
| -rw-r--r-- | src/librustc_typeck/outlives/utils.rs | 14 | ||||
| -rw-r--r-- | src/test/ui/associated-types/issue-64855-2.rs | 5 |
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() {} |
