NAMED_ARGUMENTS_USED_POSITIONALLY in rustc_lint::builtin - Rust
Description: The `named_arguments_used_positionally` lint detects cases where named arguments are only used positionally in format strings. This usage is valid but potentially very confusing.

Skip to main content

## NAMED_ARGUMENTS_USED_POSITIONALLY

# Static NAMED_ARGUMENTS_USED_POSITIONALLY

Source

    pub static NAMED_ARGUMENTS_USED_POSITIONALLY: &'static Lint

Expand description

The `named_arguments_used_positionally` lint detects cases where named arguments are only used positionally in format strings. This usage is valid but potentially very confusing.

#### §Example

ⓘ

    #![deny(named_arguments_used_positionally)]
    fn main() {
        let _x = 5;
        println!("{}", _x = 1); // Prints 1, will trigger lint

        println!("{}", _x); // Prints 5, no lint emitted
        println!("{_x}", _x = _x); // Prints 5, no lint emitted
    }

{{produces}}

#### §Explanation

Rust formatting strings can refer to named arguments by their position, but this usage is potentially confusing. In particular, readers can incorrectly assume that the declaration of named arguments is an assignment (which would produce the unit type). For backwards compatibility, this is not a hard error.