rust/tests/ui/impl-trait/in-trait/opaque-and-lifetime-mismatch.rs
2024-03-22 22:56:28 +01:00

32 lines
822 B
Rust

struct Wrapper<'rom>(&'rom ());
trait Foo {
fn bar() -> Wrapper<impl Sized>;
//~^ ERROR missing lifetime specifier
//~| ERROR struct takes 0 generic arguments but 1 generic argument was supplied
}
impl Foo for () {
fn bar() -> i32 {
//~^ ERROR method `bar` has an incompatible type for trait
//~| ERROR method `bar` has an incompatible return type for trait
0
}
}
trait Bar {
fn foo() -> Wrapper<impl Sized>;
//~^ ERROR missing lifetime specifier
//~| ERROR struct takes 0 generic arguments but 1 generic argument was supplied
}
impl Bar for () {
fn foo() -> Wrapper<impl Sized> {
//~^ ERROR missing lifetime specifier
//~| ERROR struct takes 0 generic arguments but 1 generic argument was supplied
Wrapper(&())
}
}
fn main() {}