diff options
Diffstat (limited to 'src/test/ui/regions/regions-outlives-projection-container-hrtb.rs')
-rw-r--r-- | src/test/ui/regions/regions-outlives-projection-container-hrtb.rs | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/src/test/ui/regions/regions-outlives-projection-container-hrtb.rs b/src/test/ui/regions/regions-outlives-projection-container-hrtb.rs deleted file mode 100644 index 152eed5ac..000000000 --- a/src/test/ui/regions/regions-outlives-projection-container-hrtb.rs +++ /dev/null @@ -1,52 +0,0 @@ -// Test that structs with higher-ranked where clauses don't generate -// "outlives" requirements. Issue #22246. - -#![allow(dead_code)] - -pub trait TheTrait<'b> { - type TheAssocType; -} - -pub struct TheType<'b> { - m: [fn(&'b()); 0] -} - -impl<'a,'b> TheTrait<'a> for TheType<'b> { - type TheAssocType = &'b (); -} - -pub struct WithHrAssoc<T> - where for<'a> T : TheTrait<'a> -{ - m: [T; 0] -} - -fn with_assoc<'a,'b>() { - // We get an error because 'b:'a does not hold: - - let _: &'a WithHrAssoc<TheType<'b>> = loop { }; - //~^ ERROR lifetime may not live long enough -} - -pub trait TheSubTrait : for<'a> TheTrait<'a> { -} - -impl<'b> TheSubTrait for TheType<'b> { } - -pub struct WithHrAssocSub<T> - where T : TheSubTrait -{ - m: [T; 0] -} - -fn with_assoc_sub<'a,'b>() { - // The error here is just because `'b:'a` must hold for the type - // below to be well-formed, it is not related to the HR relation. - - let _: &'a WithHrAssocSub<TheType<'b>> = loop { }; - //~^ ERROR lifetime may not live long enough -} - - -fn main() { -} |