#![feature(generic_associated_types)] trait Foo { type F<'a>; fn identity<'a>(t: &'a Self::F<'a>) -> &'a Self::F<'a> { t } } impl Foo for T { //~^ ERROR: the type parameter `T1` is not constrained type F = &[u8]; //~^ ERROR: the name `T1` is already used for //~| ERROR: `&` without an explicit lifetime name cannot be used here } fn main() {}