diff options
Diffstat (limited to 'tests/ui/generic-associated-types/issue-93141.rs')
-rw-r--r-- | tests/ui/generic-associated-types/issue-93141.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/ui/generic-associated-types/issue-93141.rs b/tests/ui/generic-associated-types/issue-93141.rs new file mode 100644 index 000000000..48c78b9c0 --- /dev/null +++ b/tests/ui/generic-associated-types/issue-93141.rs @@ -0,0 +1,23 @@ +// check-pass + +pub trait Fooey: Sized { + type Context<'c> where Self: 'c; +} + +pub struct Handle<E: Fooey>(Option<Box<dyn for<'c> Fn(&mut E::Context<'c>)>>); + +fn tuple<T>() -> (Option<T>,) { (Option::None,) } + +pub struct FooImpl {} +impl Fooey for FooImpl { + type Context<'c> = &'c (); +} + +impl FooImpl { + pub fn fail1() -> Handle<Self> { + let (tx,) = tuple(); + Handle(tx) + } +} + +fn main() {} |