summaryrefslogtreecommitdiffstats
path: root/src/test/ui/intrinsics/const-eval-select-bad.stderr
blob: 89dba12c818c8ab3564410ee1d4ac6c7778bc0cb (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
error[E0277]: the trait bound `[closure@$DIR/const-eval-select-bad.rs:7:27: 7:29]: FnOnce<()>` is not satisfied
  --> $DIR/const-eval-select-bad.rs:7:27
   |
LL |     const_eval_select((), || {}, || {});
   |     -----------------     ^^^^^ expected an `FnOnce<()>` closure, found `[closure@$DIR/const-eval-select-bad.rs:7:27: 7:29]`
   |     |
   |     required by a bound introduced by this call
   |
   = help: the trait `~const FnOnce<()>` is not implemented for `[closure@$DIR/const-eval-select-bad.rs:7:27: 7:29]`
note: the trait `FnOnce<()>` is implemented for `[closure@$DIR/const-eval-select-bad.rs:7:27: 7:29]`, but that implementation is not `const`
  --> $DIR/const-eval-select-bad.rs:7:27
   |
LL |     const_eval_select((), || {}, || {});
   |                           ^^^^^
   = note: wrap the `[closure@$DIR/const-eval-select-bad.rs:7:27: 7:29]` in a closure with no arguments: `|| { /* code */ }`
note: required by a bound in `const_eval_select`
  --> $SRC_DIR/core/src/intrinsics.rs:LL:COL
   |
LL |     F: ~const FnOnce<ARG, Output = RET>,
   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `const_eval_select`

error[E0277]: the trait bound `{integer}: FnOnce<()>` is not satisfied
  --> $DIR/const-eval-select-bad.rs:9:27
   |
LL |     const_eval_select((), 42, 0xDEADBEEF);
   |     -----------------     ^^ expected an `FnOnce<()>` closure, found `{integer}`
   |     |
   |     required by a bound introduced by this call
   |
   = help: the trait `~const FnOnce<()>` is not implemented for `{integer}`
   = note: wrap the `{integer}` in a closure with no arguments: `|| { /* code */ }`
note: required by a bound in `const_eval_select`
  --> $SRC_DIR/core/src/intrinsics.rs:LL:COL
   |
LL |     F: ~const FnOnce<ARG, Output = RET>,
   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `const_eval_select`

error[E0277]: expected a `FnOnce<()>` closure, found `{integer}`
  --> $DIR/const-eval-select-bad.rs:9:31
   |
LL |     const_eval_select((), 42, 0xDEADBEEF);
   |     -----------------         ^^^^^^^^^^ expected an `FnOnce<()>` closure, found `{integer}`
   |     |
   |     required by a bound introduced by this call
   |
   = help: the trait `FnOnce<()>` is not implemented for `{integer}`
   = note: wrap the `{integer}` in a closure with no arguments: `|| { /* code */ }`
note: required by a bound in `const_eval_select`
  --> $SRC_DIR/core/src/intrinsics.rs:LL:COL
   |
LL |     G: FnOnce<ARG, Output = RET> + ~const Destruct,
   |        ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `const_eval_select`

error[E0271]: type mismatch resolving `<fn(i32) -> bool {bar} as FnOnce<(i32,)>>::Output == i32`
  --> $DIR/const-eval-select-bad.rs:29:5
   |
LL |     const_eval_select((1,), foo, bar);
   |     ^^^^^^^^^^^^^^^^^ expected `i32`, found `bool`
   |
note: required by a bound in `const_eval_select`
  --> $SRC_DIR/core/src/intrinsics.rs:LL:COL
   |
LL |     G: FnOnce<ARG, Output = RET> + ~const Destruct,
   |                    ^^^^^^^^^^^^ required by this bound in `const_eval_select`

error[E0631]: type mismatch in function arguments
  --> $DIR/const-eval-select-bad.rs:34:32
   |
LL | const fn foo(n: i32) -> i32 {
   | --------------------------- found signature defined here
...
LL |     const_eval_select((true,), foo, baz);
   |     -----------------          ^^^ expected due to this
   |     |
   |     required by a bound introduced by this call
   |
   = note: expected function signature `fn(bool) -> _`
              found function signature `fn(i32) -> _`
note: required by a bound in `const_eval_select`
  --> $SRC_DIR/core/src/intrinsics.rs:LL:COL
   |
LL |     F: ~const FnOnce<ARG, Output = RET>,
   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `const_eval_select`

error: aborting due to 5 previous errors

Some errors have detailed explanations: E0271, E0277, E0631.
For more information about an error, try `rustc --explain E0271`.