]> git.lizzy.rs Git - rust.git/commitdiff
Make sure while-exprs require 'cond: bool' exactly.
authorMazdak Farrokhzad <twingoow@gmail.com>
Thu, 20 Jun 2019 12:13:28 +0000 (14:13 +0200)
committerMazdak Farrokhzad <twingoow@gmail.com>
Sat, 6 Jul 2019 04:43:58 +0000 (06:43 +0200)
src/test/ui/if/if-no-match-bindings.rs
src/test/ui/if/if-no-match-bindings.stderr

index 581ce18c1d6146f9ae122163cb9de31a65c723b8..ca3df0fdde45d457898041b1bae7234efdd726cb 100644 (file)
@@ -19,4 +19,10 @@ fn main() {
     if b_mut_ref() {} //~ ERROR mismatched types [E0308]
     if &true {} //~ ERROR mismatched types [E0308]
     if &mut true {} //~ ERROR mismatched types [E0308]
+
+    // This is also NOT:
+    while b_ref() {} //~ ERROR mismatched types [E0308]
+    while b_mut_ref() {} //~ ERROR mismatched types [E0308]
+    while &true {} //~ ERROR mismatched types [E0308]
+    while &mut true {} //~ ERROR mismatched types [E0308]
 }
index 7b0b472121fcec79b938859523b9100121fd3c35..cbf52476ae37f5dffe46478494984365de7212ee 100644 (file)
@@ -34,6 +34,42 @@ LL |     if &mut true {}
    = note: expected type `bool`
               found type `&mut bool`
 
-error: aborting due to 4 previous errors
+error[E0308]: mismatched types
+  --> $DIR/if-no-match-bindings.rs:24:11
+   |
+LL |     while b_ref() {}
+   |           ^^^^^^^ expected bool, found &bool
+   |
+   = note: expected type `bool`
+              found type `&bool`
+
+error[E0308]: mismatched types
+  --> $DIR/if-no-match-bindings.rs:25:11
+   |
+LL |     while b_mut_ref() {}
+   |           ^^^^^^^^^^^ expected bool, found &mut bool
+   |
+   = note: expected type `bool`
+              found type `&mut bool`
+
+error[E0308]: mismatched types
+  --> $DIR/if-no-match-bindings.rs:26:11
+   |
+LL |     while &true {}
+   |           ^^^^^ expected bool, found &bool
+   |
+   = note: expected type `bool`
+              found type `&bool`
+
+error[E0308]: mismatched types
+  --> $DIR/if-no-match-bindings.rs:27:11
+   |
+LL |     while &mut true {}
+   |           ^^^^^^^^^ expected bool, found &mut bool
+   |
+   = note: expected type `bool`
+              found type `&mut bool`
+
+error: aborting due to 8 previous errors
 
 For more information about this error, try `rustc --explain E0308`.