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