2022-07-18 21:54:51 -05:00
|
|
|
#![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);
|
|
|
|
}
|
|
|
|
|
2022-07-20 19:03:02 -05:00
|
|
|
fn d(opt_str: Option<String>) {
|
|
|
|
let s: String = if let Some(s) = opt_str {
|
|
|
|
//~^ ERROR mismatched types
|
|
|
|
} else {
|
|
|
|
String::new()
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2022-07-20 20:26:00 -05:00
|
|
|
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
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2022-07-18 21:54:51 -05:00
|
|
|
fn main() {}
|