summaryrefslogtreecommitdiffstats
path: root/src/test/ui/closures/closure-no-fn-4.stderr
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/test/ui/closures/closure-no-fn-4.stderr24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/closures/closure-no-fn-4.stderr b/src/test/ui/closures/closure-no-fn-4.stderr
new file mode 100644
index 000000000..d1b704884
--- /dev/null
+++ b/src/test/ui/closures/closure-no-fn-4.stderr
@@ -0,0 +1,24 @@
+error[E0308]: `match` arms have incompatible types
+ --> $DIR/closure-no-fn-4.rs:5:18
+ |
+LL | let _: fn(usize) -> usize = match true {
+ | _________________________________-
+LL | | true => |a| a + 1,
+ | | --------- this is found to be of type `fn(usize) -> usize`
+LL | | false => |a| a - b,
+ | | ^^^^^^^^^ expected fn pointer, found closure
+LL | |
+LL | | };
+ | |_____- `match` arms have incompatible types
+ |
+ = note: expected fn pointer `fn(usize) -> usize`
+ found closure `[closure@$DIR/closure-no-fn-4.rs:5:18: 5:21]`
+note: closures can only be coerced to `fn` types if they do not capture any variables
+ --> $DIR/closure-no-fn-4.rs:5:26
+ |
+LL | false => |a| a - b,
+ | ^ `b` captured here
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.