about summary refs log tree commit diff
path: root/tests/ui/for-loop-while/break-while-condition.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/for-loop-while/break-while-condition.stderr')
-rw-r--r--tests/ui/for-loop-while/break-while-condition.stderr45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/ui/for-loop-while/break-while-condition.stderr b/tests/ui/for-loop-while/break-while-condition.stderr
new file mode 100644
index 00000000000..e79f6a75fde
--- /dev/null
+++ b/tests/ui/for-loop-while/break-while-condition.stderr
@@ -0,0 +1,45 @@
+error[E0308]: mismatched types
+  --> $DIR/break-while-condition.rs:9:20
+   |
+LL |           let _: ! = {
+   |  ____________________^
+LL | |             'a: while break 'a {};
+LL | |         };
+   | |_________^ expected `!`, found `()`
+   |
+   = note:   expected type `!`
+           found unit type `()`
+
+error[E0308]: mismatched types
+  --> $DIR/break-while-condition.rs:16:13
+   |
+LL | /             while false {
+LL | |                 break
+LL | |             }
+   | |_____________^ expected `!`, found `()`
+   |
+   = note:   expected type `!`
+           found unit type `()`
+
+error[E0308]: mismatched types
+  --> $DIR/break-while-condition.rs:24:13
+   |
+LL | /             while false {
+LL | |                 return
+LL | |             }
+   | |_____________^ expected `!`, found `()`
+   |
+   = note:   expected type `!`
+           found unit type `()`
+note: the function expects a value to always be returned, but loops might run zero times
+  --> $DIR/break-while-condition.rs:24:13
+   |
+LL |             while false {
+   |             ^^^^^^^^^^^ this might have zero elements to iterate on
+LL |                 return
+   |                 ------ if the loop doesn't execute, this value would never get returned
+   = help: return a value for the case when the loop has zero elements to iterate on, or consider changing the return type to account for that possibility
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0308`.