// check-pass trait Bar { type Type; } struct Foo<'a>(&'a ()); impl<'a> Bar for Foo<'a> { type Type = (); } fn func<'a>(_: as Bar>::Type) {} fn assert_is_func(_: fn(A)) {} fn test() where for<'a> as Bar>::Type: Sized, { assert_is_func(func); } fn main() {}