rust/tests/ui/macros/issue-99265.rs

140 lines
7.9 KiB
Rust

//@ check-pass
//@ run-rustfix
fn main() {
println!("{b} {}", a=1, b=2);
//~^ WARNING named argument `a` is not used by name [named_arguments_used_positionally]
//~| HELP use the named argument by name to avoid ambiguity
println!("{} {} {} {} {}", 0, a=1, b=2, c=3, d=4);
//~^ WARNING named argument `a` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `b` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `c` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `d` is not used by name [named_arguments_used_positionally]
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
println!("Hello {:1$}!", "x", width = 5);
//~^ WARNING named argument `width` is not used by name [named_arguments_used_positionally
//~| HELP use the named argument by name to avoid ambiguity
println!("Hello {:1$.2$}!", f = 0.02f32, width = 5, precision = 2);
//~^ WARNING named argument `width` is not used by name [named_arguments_used_positionally
//~| WARNING named argument `precision` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `f` is not used by name [named_arguments_used_positionally]
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
println!("Hello {0:1$.2$}!", f = 0.02f32, width = 5, precision = 2);
//~^ WARNING named argument `width` is not used by name [named_arguments_used_positionally
//~| WARNING named argument `precision` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `f` is not used by name [named_arguments_used_positionally]
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
println!(
"{}, Hello {1:2$.3$} {4:5$.6$}! {1}",
//~^ HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
1,
f = 0.02f32,
//~^ WARNING named argument `f` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `f` is not used by name [named_arguments_used_positionally]
width = 5,
//~^ WARNING named argument `width` is not used by name [named_arguments_used_positionally
precision = 2,
//~^ WARNING named argument `precision` is not used by name [named_arguments_used_positionally]
g = 0.02f32,
//~^ WARNING named argument `g` is not used by name [named_arguments_used_positionally]
width2 = 5,
//~^ WARNING named argument `width2` is not used by name [named_arguments_used_positionally
precision2 = 2
//~^ WARNING named argument `precision2` is not used by name [named_arguments_used_positionally]
);
println!("Hello {:0.1}!", f = 0.02f32);
//~^ WARNING named argument `f` is not used by name [named_arguments_used_positionally]
//~| HELP use the named argument by name to avoid ambiguity
println!("Hello {0:0.1}!", f = 0.02f32);
//~^ WARNING named argument `f` is not used by name [named_arguments_used_positionally]
//~| HELP use the named argument by name to avoid ambiguity
println!("Hello {f:width$.precision$}!", f = 0.02f32, width = 5, precision = 2);
let width = 5;
let precision = 2;
println!("Hello {f:width$.precision$}!", f = 0.02f32);
let val = 5;
println!("{:0$}", v = val);
//~^ WARNING named argument `v` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `v` is not used by name [named_arguments_used_positionally]
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
println!("{0:0$}", v = val);
//~^ WARNING named argument `v` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `v` is not used by name [named_arguments_used_positionally]
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
println!("{:0$.0$}", v = val);
//~^ WARNING named argument `v` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `v` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `v` is not used by name [named_arguments_used_positionally]
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
println!("{0:0$.0$}", v = val);
//~^ WARNING named argument `v` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `v` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `v` is not used by name [named_arguments_used_positionally]
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
println!("{} {a} {0}", a = 1);
//~^ WARNING named argument `a` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `a` is not used by name [named_arguments_used_positionally]
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
println!("aaaaaaaaaaaaaaa\
{:1$.2$}",
//~^ HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
a = 1.0, b = 1, c = 2,
//~^ WARNING named argument `a` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `b` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `c` is not used by name [named_arguments_used_positionally]
);
println!("aaaaaaaaaaaaaaa\
{0:1$.2$}",
//~^ HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
a = 1.0, b = 1, c = 2,
//~^ WARNING named argument `a` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `b` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `c` is not used by name [named_arguments_used_positionally]
);
println!("{{{:1$.2$}}}", x = 1.0, width = 3, precision = 2);
//~^ WARNING named argument `x` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `width` is not used by name [named_arguments_used_positionally]
//~| WARNING named argument `precision` is not used by name [named_arguments_used_positionally]
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
//~| HELP use the named argument by name to avoid ambiguity
}