diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:03 +0000 |
commit | 64d98f8ee037282c35007b64c2649055c56af1db (patch) | |
tree | 5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /src/test/ui/associated-type-bounds/implied-region-constraints.rs | |
parent | Adding debian version 1.67.1+dfsg1-1. (diff) | |
download | rustc-64d98f8ee037282c35007b64c2649055c56af1db.tar.xz rustc-64d98f8ee037282c35007b64c2649055c56af1db.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/associated-type-bounds/implied-region-constraints.rs')
-rw-r--r-- | src/test/ui/associated-type-bounds/implied-region-constraints.rs | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/src/test/ui/associated-type-bounds/implied-region-constraints.rs b/src/test/ui/associated-type-bounds/implied-region-constraints.rs deleted file mode 100644 index 38219da61..000000000 --- a/src/test/ui/associated-type-bounds/implied-region-constraints.rs +++ /dev/null @@ -1,45 +0,0 @@ -#![feature(associated_type_bounds)] - -trait Tr1 { type As1; } -trait Tr2 { type As2; } - -struct St<'a, 'b, T: Tr1<As1: Tr2>> { // `T: 'b` is *not* implied! - f0: &'a T, // `T: 'a` is implied. - f1: &'b <T::As1 as Tr2>::As2, // `<T::As1 as Tr2>::As2: 'a` is implied. -} - -fn _bad_st<'a, 'b, T>(x: St<'a, 'b, T>) -where - T: Tr1, - T::As1: Tr2, -{ - // This should fail because `T: 'b` is not implied from `WF(St<'a, 'b, T>)`. - let _failure_proves_not_implied_outlives_region_b: &'b T = &x.f0; - //~^ ERROR lifetime may not live long enough -} - -enum En7<'a, 'b, T> // `<T::As1 as Tr2>::As2: 'a` is implied. -where - T: Tr1, - T::As1: Tr2, -{ - V0(&'a T), - V1(&'b <T::As1 as Tr2>::As2), -} - -fn _bad_en7<'a, 'b, T>(x: En7<'a, 'b, T>) -where - T: Tr1, - T::As1: Tr2, -{ - match x { - En7::V0(x) => { - // Also fails for the same reason as above: - let _failure_proves_not_implied_outlives_region_b: &'b T = &x; - //~^ ERROR lifetime may not live long enough - }, - En7::V1(_) => {}, - } -} - -fn main() {} |