summaryrefslogtreecommitdiffstats
path: root/src/test/ui/expr/if/if-else-type-mismatch.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/expr/if/if-else-type-mismatch.rs')
-rw-r--r--src/test/ui/expr/if/if-else-type-mismatch.rs46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/test/ui/expr/if/if-else-type-mismatch.rs b/src/test/ui/expr/if/if-else-type-mismatch.rs
new file mode 100644
index 000000000..1a0a36df2
--- /dev/null
+++ b/src/test/ui/expr/if/if-else-type-mismatch.rs
@@ -0,0 +1,46 @@
+fn main() {
+ let _ = if true {
+ 1i32
+ } else {
+ 2u32
+ };
+ //~^^ ERROR `if` and `else` have incompatible types
+ let _ = if true { 42i32 } else { 42u32 };
+ //~^ ERROR `if` and `else` have incompatible types
+ let _ = if true {
+ 3u32;
+ } else {
+ 4u32
+ };
+ //~^^ ERROR `if` and `else` have incompatible types
+ let _ = if true {
+ 5u32
+ } else {
+ 6u32;
+ };
+ //~^^ ERROR `if` and `else` have incompatible types
+ let _ = if true {
+ 7i32;
+ } else {
+ 8u32
+ };
+ //~^^ ERROR `if` and `else` have incompatible types
+ let _ = if true {
+ 9i32
+ } else {
+ 10u32;
+ };
+ //~^^ ERROR `if` and `else` have incompatible types
+ let _ = if true {
+
+ } else {
+ 11u32
+ };
+ //~^^ ERROR `if` and `else` have incompatible types
+ let _ = if true {
+ 12i32
+ } else {
+
+ };
+ //~^^^ ERROR `if` and `else` have incompatible types
+}