diff options
| author | mojave2 <chenchen145@huawei.com> | 2023-09-06 17:46:39 +0800 |
|---|---|---|
| committer | mojave2 <chenchen145@huawei.com> | 2023-09-06 17:46:46 +0800 |
| commit | cfa211956309a444371442c5956d59a12260dcee (patch) | |
| tree | 8b872b9fdab183d141fcdc8ed4ace2a0fe5dc074 /tests/ui/unsafe | |
| parent | df6e6a6d08f1ccd04e852896553e3fd7927dcdd6 (diff) | |
| download | rust-cfa211956309a444371442c5956d59a12260dcee.tar.gz rust-cfa211956309a444371442c5956d59a12260dcee.zip | |
add a regression test
Diffstat (limited to 'tests/ui/unsafe')
| -rw-r--r-- | tests/ui/unsafe/issue-115348-false-positive-warning-of-unnecessary-unsafe.rs | 16 | ||||
| -rw-r--r-- | tests/ui/unsafe/issue-115348-false-positive-warning-of-unnecessary-unsafe.stderr | 21 |
2 files changed, 37 insertions, 0 deletions
diff --git a/tests/ui/unsafe/issue-115348-false-positive-warning-of-unnecessary-unsafe.rs b/tests/ui/unsafe/issue-115348-false-positive-warning-of-unnecessary-unsafe.rs new file mode 100644 index 00000000000..68559338d49 --- /dev/null +++ b/tests/ui/unsafe/issue-115348-false-positive-warning-of-unnecessary-unsafe.rs @@ -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() {} diff --git a/tests/ui/unsafe/issue-115348-false-positive-warning-of-unnecessary-unsafe.stderr b/tests/ui/unsafe/issue-115348-false-positive-warning-of-unnecessary-unsafe.stderr new file mode 100644 index 00000000000..7384899b978 --- /dev/null +++ b/tests/ui/unsafe/issue-115348-false-positive-warning-of-unnecessary-unsafe.stderr @@ -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`. |
