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]
}
= 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`.