let-else: linting for unused bindings is not handled correctly · Issue #89807 · rust-lang/rust (original) (raw)

Skip to content

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Appearance settings

@nagisa

Description

@nagisa

#![feature(let_else)]

fn example_let_else(value: Option) { #[allow(unused)] let banana = 1; #[allow(unused)] let Some(chaenomeles) = value else { return }; }

here banana will not be linted against as an unused variable, but chaenomeleswill be:

warning: unused variable: `chaenomeles`
 --> src/lib.rs:7:14
  |
7 |     let Some(chaenomeles) = value else { return };
  |              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chaenomeles`
  |
  = note: `#[warn(unused_variables)]` on by default

playground

cc #87335