@@ -11,8 +11,21 @@ help: consider further restricting type parameter `A` with unstable trait `Tuple
11
11
LL | A: Eq + Hash + Clone + std::marker::Tuple,
12
12
| ++++++++++++++++++++
13
13
14
+ error[E0059]: type parameter to bare `FnOnce` trait must be a tuple
15
+ --> $DIR/rust-call-abi-not-a-tuple-ice-81974.rs:31:5
16
+ |
17
+ LL | extern "rust-call" fn call_once(mut self, a: A) -> Self::Output {
18
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Tuple` is not implemented for `A`
19
+ |
20
+ note: required by a bound in `FnOnce`
21
+ --> $SRC_DIR/core/src/ops/function.rs:LL:COL
22
+ help: consider further restricting type parameter `A` with unstable trait `Tuple`
23
+ |
24
+ LL | A: Eq + Hash + Clone + std::marker::Tuple,
25
+ | ++++++++++++++++++++
26
+
14
27
error[E0059]: type parameter to bare `FnMut` trait must be a tuple
15
- --> $DIR/rust-call-abi-not-a-tuple-ice-81974.rs:38 :12
28
+ --> $DIR/rust-call-abi-not-a-tuple-ice-81974.rs:39 :12
16
29
|
17
30
LL | impl<A, B> FnMut<A> for CachedFun<A, B>
18
31
| ^^^^^^^^ the trait `Tuple` is not implemented for `A`
@@ -24,6 +37,19 @@ help: consider further restricting type parameter `A` with unstable trait `Tuple
24
37
LL | A: Eq + Hash + Clone + std::marker::Tuple,
25
38
| ++++++++++++++++++++
26
39
40
+ error[E0059]: type parameter to bare `FnOnce` trait must be a tuple
41
+ --> $DIR/rust-call-abi-not-a-tuple-ice-81974.rs:45:5
42
+ |
43
+ LL | extern "rust-call" fn call_mut(&mut self, a: A) -> Self::Output {
44
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Tuple` is not implemented for `A`
45
+ |
46
+ note: required by a bound in `FnOnce`
47
+ --> $SRC_DIR/core/src/ops/function.rs:LL:COL
48
+ help: consider further restricting type parameter `A` with unstable trait `Tuple`
49
+ |
50
+ LL | A: Eq + Hash + Clone + std::marker::Tuple,
51
+ | ++++++++++++++++++++
52
+
27
53
error[E0277]: functions with the "rust-call" ABI must take a single non-self tuple argument
28
54
--> $DIR/rust-call-abi-not-a-tuple-ice-81974.rs:31:5
29
55
|
@@ -36,7 +62,7 @@ LL | A: Eq + Hash + Clone + std::marker::Tuple,
36
62
| ++++++++++++++++++++
37
63
38
64
error[E0277]: functions with the "rust-call" ABI must take a single non-self tuple argument
39
- --> $DIR/rust-call-abi-not-a-tuple-ice-81974.rs:44 :5
65
+ --> $DIR/rust-call-abi-not-a-tuple-ice-81974.rs:45 :5
40
66
|
41
67
LL | extern "rust-call" fn call_mut(&mut self, a: A) -> Self::Output {
42
68
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Tuple` is not implemented for `A`
@@ -47,12 +73,12 @@ LL | A: Eq + Hash + Clone + std::marker::Tuple,
47
73
| ++++++++++++++++++++
48
74
49
75
error[E0277]: `A` is not a tuple
50
- --> $DIR/rust-call-abi-not-a-tuple-ice-81974.rs:33:23
76
+ --> $DIR/rust-call-abi-not-a-tuple-ice-81974.rs:34:19
51
77
|
52
- LL | self.call_mut(a)
53
- | -------- ^ the trait `Tuple` is not implemented for `A`
54
- | |
55
- | required by a bound introduced by this call
78
+ LL | self.call_mut(a)
79
+ | -------- ^ the trait `Tuple` is not implemented for `A`
80
+ | |
81
+ | required by a bound introduced by this call
56
82
|
57
83
note: required by a bound in `call_mut`
58
84
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
@@ -62,7 +88,7 @@ LL | A: Eq + Hash + Clone + std::marker::Tuple,
62
88
| ++++++++++++++++++++
63
89
64
90
error[E0277]: `i32` is not a tuple
65
- --> $DIR/rust-call-abi-not-a-tuple-ice-81974.rs:57 :26
91
+ --> $DIR/rust-call-abi-not-a-tuple-ice-81974.rs:59 :26
66
92
|
67
93
LL | cachedcoso.call_once(1);
68
94
| --------- ^ the trait `Tuple` is not implemented for `i32`
@@ -76,7 +102,7 @@ help: use a unary tuple instead
76
102
LL | cachedcoso.call_once((1,));
77
103
| + ++
78
104
79
- error: aborting due to 6 previous errors
105
+ error: aborting due to 8 previous errors
80
106
81
107
Some errors have detailed explanations: E0059, E0277.
82
108
For more information about an error, try `rustc --explain E0059`.
0 commit comments