From f32a6acdab446d7fd018bb2a975769ae995aa4c7 Mon Sep 17 00:00:00 2001 From: Bastian Kauschke Date: Thu, 31 Dec 2020 15:35:21 +0100 Subject: require gat substs to be invariant --- .../variance_constraints.rs | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/test/ui/generic-associated-types/variance_constraints.rs (limited to 'src/test') diff --git a/src/test/ui/generic-associated-types/variance_constraints.rs b/src/test/ui/generic-associated-types/variance_constraints.rs new file mode 100644 index 00000000000..36db80706b4 --- /dev/null +++ b/src/test/ui/generic-associated-types/variance_constraints.rs @@ -0,0 +1,24 @@ +// check-pass +// issue #69184 +#![feature(generic_associated_types)] +#![allow(incomplete_features)] + +trait A { + type B<'a>; + + fn make_b<'a>(&'a self) -> Self::B<'a>; +} + +struct S {} +impl A for S { + type B<'a> = &'a S; + fn make_b<'a>(&'a self) -> &'a Self { + self + } +} + +enum E<'a> { + S(::B<'a>), +} + +fn main() {} -- cgit 1.4.1-3-g733a5