summaryrefslogtreecommitdiffstats
path: root/src/test/ui/issues/issue-20225.stderr
blob: 6f4813ca6235b1cfb1d8a3331d530d1ff06d42f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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 {
   |          - this type parameter
LL |   extern "rust-call" fn call(&self, (_,): (T,)) {}
   |                                           ^^^^
   |                                           |
   |                                           expected `&T`, found type parameter `T`
   |                                           help: change the parameter type to match the trait: `(&'a T,)`
   |
   = note: expected fn pointer `extern "rust-call" fn(&Foo, (&'a T,))`
              found fn pointer `extern "rust-call" fn(&Foo, (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 {
   |          - this type parameter
LL |   extern "rust-call" fn call_mut(&mut self, (_,): (T,)) {}
   |                                                   ^^^^
   |                                                   |
   |                                                   expected `&T`, found type parameter `T`
   |                                                   help: change the parameter type to match the trait: `(&'a T,)`
   |
   = note: expected fn pointer `extern "rust-call" fn(&mut Foo, (&'a T,))`
              found fn pointer `extern "rust-call" fn(&mut Foo, (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 {
   |          - this type parameter
...
LL |   extern "rust-call" fn call_once(self, (_,): (T,)) {}
   |                                               ^^^^
   |                                               |
   |                                               expected `&T`, found type parameter `T`
   |                                               help: change the parameter type to match the trait: `(&'a T,)`
   |
   = note: expected fn pointer `extern "rust-call" fn(Foo, (&'a T,))`
              found fn pointer `extern "rust-call" fn(Foo, (T,))`

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0053`.