rust/tests/ui/issues/issue-20225.stderr

50 lines
2.1 KiB
Plaintext

error[E0053]: method `call` has an incompatible type for trait
--> $DIR/issue-20225.rs:6:43
|
LL | impl<'a, T> Fn<(&'a T,)> for Foo {
| - found this type parameter
LL | extern "rust-call" fn call(&self, (_,): (T,)) {}
| ^^^^ expected `&'a T`, found type parameter `T`
|
= note: expected signature `extern "rust-call" fn(&Foo, (&'a _,))`
found signature `extern "rust-call" fn(&Foo, (_,))`
help: change the parameter type to match the trait
|
LL | extern "rust-call" fn call(&self, (_,): (&'a T,)) {}
| ~~~~~~~~
error[E0053]: method `call_mut` has an incompatible type for trait
--> $DIR/issue-20225.rs:11:51
|
LL | impl<'a, T> FnMut<(&'a T,)> for Foo {
| - found this type parameter
LL | extern "rust-call" fn call_mut(&mut self, (_,): (T,)) {}
| ^^^^ expected `&'a T`, found type parameter `T`
|
= note: expected signature `extern "rust-call" fn(&mut Foo, (&'a _,))`
found signature `extern "rust-call" fn(&mut Foo, (_,))`
help: change the parameter type to match the trait
|
LL | extern "rust-call" fn call_mut(&mut self, (_,): (&'a T,)) {}
| ~~~~~~~~
error[E0053]: method `call_once` has an incompatible type for trait
--> $DIR/issue-20225.rs:18:47
|
LL | impl<'a, T> FnOnce<(&'a T,)> for Foo {
| - found this type parameter
...
LL | extern "rust-call" fn call_once(self, (_,): (T,)) {}
| ^^^^ expected `&'a T`, found type parameter `T`
|
= note: expected signature `extern "rust-call" fn(Foo, (&'a _,))`
found signature `extern "rust-call" fn(Foo, (_,))`
help: change the parameter type to match the trait
|
LL | extern "rust-call" fn call_once(self, (_,): (&'a T,)) {}
| ~~~~~~~~
error: aborting due to 3 previous errors
For more information about this error, try `rustc --explain E0053`.