add a regression test

This commit is contained in:
mojave2 2023-09-06 17:46:39 +08:00
parent df6e6a6d08
commit cfa2119563
No known key found for this signature in database
2 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,16 @@
// Regression test for #115348.
unsafe fn uwu() {}
// Tests that the false-positive warning "unnecessary `unsafe` block"
// should not be reported, when the error "non-exhaustive patterns"
// appears.
fn foo(x: Option<u32>) {
match x {
//~^ ERROR non-exhaustive patterns: `None` not covered
Some(_) => unsafe { uwu() },
}
}
fn main() {}

View File

@ -0,0 +1,21 @@
error[E0004]: non-exhaustive patterns: `None` not covered
--> $DIR/issue-115348-false-positive-warning-of-unnecessary-unsafe.rs:10:11
|
LL | match x {
| ^ pattern `None` not covered
|
note: `Option<u32>` defined here
--> $SRC_DIR/core/src/option.rs:LL:COL
::: $SRC_DIR/core/src/option.rs:LL:COL
|
= note: not covered
= note: the matched value is of type `Option<u32>`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
|
LL ~ Some(_) => unsafe { uwu() },
LL ~ None => todo!(),
|
error: aborting due to previous error
For more information about this error, try `rustc --explain E0004`.