Skip to content

Unused variable warning shouldn't apply to parameters of default trait implementations #14027

Closed
@zwarich

Description

@zwarich

Currently, code like

trait Useless {
    fn foo(&self, descriptive_name: uint) { }
}

struct A;

impl Useless for A {
    fn foo(&self, descriptive_name: uint) { println!("{}", descriptive_name); }
}

fn main() {
    let a = A;
    a.foo(1);
}

will trigger an unused variable warning:

test.rs:2:19: 2:35 warning: unused variable: `descriptive_name`, #[warn(unused_variable)] on by default
test.rs:2     fn foo(&self, descriptive_name: uint) { }
                            ^~~~~~~~~~~~~~~~

It seems like using a descriptive name for a parameter should be allowed, even if the default implementation doesn't use the parameter at all.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-lintsArea: Lints (warnings about flaws in source code) such as unused_mut.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions