diff options
| author | Cormac Relf <web@cormacrelf.net> | 2022-02-15 17:42:50 +1100 |
|---|---|---|
| committer | est31 <MTest31@outlook.com> | 2022-08-12 10:03:57 +0200 |
| commit | e3c5bd617d040b5ee0bc79e6e7f01772adce791b (patch) | |
| tree | f7fcb68a2962ec56c050fa83896b1b163c689283 | |
| parent | e2b52ff73edc8b0b7c74bc28760d618187731fe8 (diff) | |
| download | rust-e3c5bd617d040b5ee0bc79e6e7f01772adce791b.tar.gz rust-e3c5bd617d040b5ee0bc79e6e7f01772adce791b.zip | |
let-else: add a test for warnings on let-else with diverging tail
| -rw-r--r-- | src/test/ui/let-else/let-else-then-diverge.rs | 19 | ||||
| -rw-r--r-- | src/test/ui/let-else/let-else-then-diverge.stderr | 14 |
2 files changed, 33 insertions, 0 deletions
diff --git a/src/test/ui/let-else/let-else-then-diverge.rs b/src/test/ui/let-else/let-else-then-diverge.rs new file mode 100644 index 00000000000..49633d943be --- /dev/null +++ b/src/test/ui/let-else/let-else-then-diverge.rs @@ -0,0 +1,19 @@ +// +// popped up in in #94012, where an alternative desugaring was +// causing unreachable code errors + +#![feature(let_else)] +#![deny(unused_variables)] +#![deny(unreachable_code)] + +fn let_else_diverge() -> bool { + let Some(_) = Some("test") else { + let x = 5; //~ ERROR unused variable: `x` + return false; + }; + return true; +} + +fn main() { + let_else_diverge(); +} diff --git a/src/test/ui/let-else/let-else-then-diverge.stderr b/src/test/ui/let-else/let-else-then-diverge.stderr new file mode 100644 index 00000000000..ceb61029d38 --- /dev/null +++ b/src/test/ui/let-else/let-else-then-diverge.stderr @@ -0,0 +1,14 @@ +error: unused variable: `x` + --> $DIR/let-else-then-diverge.rs:11:13 + | +LL | let x = 5; + | ^ help: if this is intentional, prefix it with an underscore: `_x` + | +note: the lint level is defined here + --> $DIR/let-else-then-diverge.rs:6:9 + | +LL | #![deny(unused_variables)] + | ^^^^^^^^^^^^^^^^ + +error: aborting due to previous error + |
