mirror of https://github.com/rust-lang/rust
53 lines
1.1 KiB
Rust
53 lines
1.1 KiB
Rust
// Diagnostic enhancement explained in issue #75418.
|
|
// Point at the last statement in the block if there's no tail expression,
|
|
// and suggest removing the semicolon if appropriate.
|
|
|
|
fn main() {
|
|
let _ = match Some(42) {
|
|
Some(x) => {
|
|
x
|
|
},
|
|
None => {
|
|
0;
|
|
//~^ ERROR incompatible types
|
|
//~| HELP consider removing this semicolon
|
|
},
|
|
};
|
|
|
|
let _ = if let Some(x) = Some(42) {
|
|
x
|
|
} else {
|
|
0;
|
|
//~^ ERROR incompatible types
|
|
//~| HELP consider removing this semicolon
|
|
};
|
|
|
|
let _ = match Some(42) {
|
|
Some(x) => {
|
|
x
|
|
},
|
|
None => {
|
|
();
|
|
//~^ ERROR incompatible types
|
|
},
|
|
};
|
|
|
|
let _ = match Some(42) {
|
|
Some(x) => {
|
|
x
|
|
},
|
|
None => { //~ ERROR incompatible types
|
|
},
|
|
};
|
|
|
|
let _ = match Some(42) {
|
|
Some(x) => "rust-lang.org"
|
|
.chars()
|
|
.skip(1)
|
|
.chain(Some(x as u8 as char))
|
|
.take(10)
|
|
.any(char::is_alphanumeric),
|
|
None => {} //~ ERROR incompatible types
|
|
};
|
|
}
|