| //@ edition:2021 |
| |
| trait Trait {} |
| |
| struct IceCream; |
| |
| impl IceCream { |
| fn foo(_: &Trait) {} |
| //~^ ERROR: expected a type, found a trait |
| |
| fn bar(self, _: &'a Trait) {} |
| //~^ ERROR: expected a type, found a trait |
| //~| ERROR: use of undeclared lifetime name |
| |
| fn alice<'a>(&self, _: &Trait) {} |
| //~^ ERROR: expected a type, found a trait |
| |
| fn bob<'a>(_: &'a Trait) {} |
| //~^ ERROR: expected a type, found a trait |
| |
| fn cat() -> &Trait { |
| //~^ ERROR: missing lifetime specifier |
| //~| ERROR: expected a type, found a trait |
| &Type |
| } |
| |
| fn dog<'a>() -> &Trait { |
| //~^ ERROR: missing lifetime specifier |
| //~| ERROR: expected a type, found a trait |
| &Type |
| } |
| |
| fn kitten() -> &'a Trait { |
| //~^ ERROR: use of undeclared lifetime name |
| //~| ERROR: expected a type, found a trait |
| &Type |
| } |
| |
| fn puppy<'a>() -> &'a Trait { |
| //~^ ERROR: expected a type, found a trait |
| &Type |
| } |
| |
| fn parrot() -> &mut Trait { |
| //~^ ERROR: missing lifetime specifier |
| //~| ERROR: expected a type, found a trait |
| &mut Type |
| } |
| } |
| |
| trait Sing { |
| fn foo(_: &Trait); |
| //~^ ERROR: expected a type, found a trait |
| |
| fn bar(_: &'a Trait); |
| //~^ ERROR: expected a type, found a trait |
| //~| ERROR: use of undeclared lifetime name |
| |
| fn alice<'a>(_: &Trait); |
| //~^ ERROR: expected a type, found a trait |
| |
| fn bob<'a>(_: &'a Trait); |
| //~^ ERROR: expected a type, found a trait |
| |
| fn cat() -> &Trait; |
| //~^ ERROR: missing lifetime specifier |
| //~| ERROR: expected a type, found a trait |
| |
| fn dog<'a>() -> &Trait { |
| //~^ ERROR: missing lifetime specifier |
| //~| ERROR: expected a type, found a trait |
| &Type |
| } |
| |
| fn kitten() -> &'a Trait { |
| //~^ ERROR: use of undeclared lifetime name |
| //~| ERROR: expected a type, found a trait |
| &Type |
| } |
| |
| fn puppy<'a>() -> &'a Trait { |
| //~^ ERROR: expected a type, found a trait |
| &Type |
| } |
| |
| fn parrot() -> &mut Trait { |
| //~^ ERROR: missing lifetime specifier |
| //~| ERROR: expected a type, found a trait |
| &mut Type |
| } |
| } |
| |
| fn foo(_: &Trait) {} |
| //~^ ERROR: expected a type, found a trait |
| |
| fn bar(_: &'a Trait) {} |
| //~^ ERROR: expected a type, found a trait |
| //~| ERROR: use of undeclared lifetime name |
| |
| fn alice<'a>(_: &Trait) {} |
| //~^ ERROR: expected a type, found a trait |
| |
| fn bob<'a>(_: &'a Trait) {} |
| //~^ ERROR: expected a type, found a trait |
| |
| struct Type; |
| |
| impl Trait for Type {} |
| |
| fn cat() -> &Trait { |
| //~^ ERROR: missing lifetime specifier |
| //~| ERROR: expected a type, found a trait |
| &Type |
| } |
| |
| fn dog<'a>() -> &Trait { |
| //~^ ERROR: missing lifetime specifier |
| //~| ERROR: expected a type, found a trait |
| &Type |
| } |
| |
| fn kitten() -> &'a Trait { |
| //~^ ERROR: use of undeclared lifetime name |
| //~| ERROR: expected a type, found a trait |
| &Type |
| } |
| |
| fn puppy<'a>() -> &'a Trait { |
| //~^ ERROR: expected a type, found a trait |
| &Type |
| } |
| |
| fn parrot() -> &mut Trait { |
| //~^ ERROR: missing lifetime specifier |
| //~| ERROR: expected a type, found a trait |
| &mut Type |
| } |
| |
| fn main() {} |