Skip to content

dead code lint should say "never constructed" for variants that are matched on but never constructed #19140

Closed
@pnkfelix

Description

@pnkfelix
mod a {
    #[deriving(Show)]
    pub enum E {
        Variant1,
        Variant2,
    }
}

fn main() {
    let x = a::E::Variant1;
    let y = match x {
        a::E::Variant1 => 1i,
        a::E::Variant2 => 2i,
    };
    println!("Hello world: {}", (x, y));
}

produces:

<anon>:5:9: 5:17 warning: variant is never used: `Variant2`, #[warn(dead_code)] on by default
<anon>:5         Variant2,
                 ^~~~~~~~

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-lintsArea: Lints (warnings about flaws in source code) such as unused_mut.C-enhancementCategory: An issue proposing an enhancement or a PR with one.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions