| #![allow(unused)] |
| |
| fn a(i: i32) -> i32 {} |
| //~^ ERROR mismatched types |
| |
| fn b(opt_str: Option<String>) { |
| let s: String = if let Some(s) = opt_str { |
| //~^ ERROR mismatched types |
| } else { |
| String::new() |
| }; |
| } |
| |
| fn c() -> Option<i32> { |
| //~^ ERROR mismatched types |
| let x = Some(1); |
| } |
| |
| fn d(opt_str: Option<String>) { |
| let s: String = if let Some(s) = opt_str { |
| //~^ ERROR mismatched types |
| } else { |
| String::new() |
| }; |
| } |
| |
| fn d2(opt_str: Option<String>) { |
| let s = if let Some(s) = opt_str { |
| } else { |
| String::new() |
| //~^ ERROR `if` and `else` have incompatible types |
| }; |
| } |
| |
| fn e(opt_str: Option<String>) { |
| let s: String = match opt_str { |
| Some(s) => {} |
| //~^ ERROR mismatched types |
| None => String::new(), |
| }; |
| } |
| |
| fn e2(opt_str: Option<String>) { |
| let s = match opt_str { |
| Some(s) => {} |
| None => String::new(), |
| //~^ ERROR `match` arms have incompatible types |
| }; |
| } |
| |
| fn main() {} |