summaryrefslogtreecommitdiffstats
path: root/src/test/ui/intrinsics/const-eval-select-bad.stderr
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/test/ui/intrinsics/const-eval-select-bad.stderr88
1 files changed, 88 insertions, 0 deletions
diff --git a/src/test/ui/intrinsics/const-eval-select-bad.stderr b/src/test/ui/intrinsics/const-eval-select-bad.stderr
new file mode 100644
index 000000000..89dba12c8
--- /dev/null
+++ b/src/test/ui/intrinsics/const-eval-select-bad.stderr
@@ -0,0 +1,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`.