error: 1 positional argument in format string, but no arguments were given
  --> $DIR/ifmt-bad-arg.rs:6:14
   |
LL |     format!("{}");
   |              ^^

error: invalid reference to positional argument 1 (there is 1 argument)
  --> $DIR/ifmt-bad-arg.rs:9:15
   |
LL |     format!("{1}", 1);
   |               ^
   |
   = note: positional arguments are zero-based

error: argument never used
  --> $DIR/ifmt-bad-arg.rs:9:20
   |
LL |     format!("{1}", 1);
   |             -----  ^ argument never used
   |             |
   |             formatting specifier missing

error: 2 positional arguments in format string, but no arguments were given
  --> $DIR/ifmt-bad-arg.rs:13:14
   |
LL |     format!("{} {}");
   |              ^^ ^^

error: invalid reference to positional argument 1 (there is 1 argument)
  --> $DIR/ifmt-bad-arg.rs:16:19
   |
LL |     format!("{0} {1}", 1);
   |                   ^
   |
   = note: positional arguments are zero-based

error: invalid reference to positional argument 2 (there are 2 arguments)
  --> $DIR/ifmt-bad-arg.rs:19:23
   |
LL |     format!("{0} {1} {2}", 1, 2);
   |                       ^
   |
   = note: positional arguments are zero-based

error: 3 positional arguments in format string, but there are 2 arguments
  --> $DIR/ifmt-bad-arg.rs:22:14
   |
LL |     format!("{} {value} {} {}", 1, value=2);
   |              ^^         ^^ ^^   -        -

error: 6 positional arguments in format string, but there are 3 arguments
  --> $DIR/ifmt-bad-arg.rs:24:29
   |
LL |     format!("{name} {value} {} {} {} {} {} {}", 0, name=1, value=2);
   |                             ^^ ^^ ^^ ^^ ^^ ^^   -       -        -

error: multiple unused formatting arguments
  --> $DIR/ifmt-bad-arg.rs:32:17
   |
LL |     format!("", 1, 2);
   |             --  ^  ^ argument never used
   |             |   |
   |             |   argument never used
   |             multiple missing formatting specifiers

error: argument never used
  --> $DIR/ifmt-bad-arg.rs:33:22
   |
LL |     format!("{}", 1, 2);
   |             ----     ^ argument never used
   |             |
   |             formatting specifier missing

error: argument never used
  --> $DIR/ifmt-bad-arg.rs:34:20
   |
LL |     format!("{1}", 1, 2);
   |             -----  ^ argument never used
   |             |
   |             formatting specifier missing

error: named argument never used
  --> $DIR/ifmt-bad-arg.rs:35:26
   |
LL |     format!("{}", 1, foo=2);
   |             ----         ^ named argument never used
   |             |
   |             formatting specifier missing

error: argument never used
  --> $DIR/ifmt-bad-arg.rs:36:22
   |
LL |     format!("{foo}", 1, foo=2);
   |             -------  ^ argument never used
   |             |
   |             formatting specifier missing

error: named argument never used
  --> $DIR/ifmt-bad-arg.rs:37:21
   |
LL |     format!("", foo=2);
   |             --      ^ named argument never used
   |             |
   |             formatting specifier missing

error: multiple unused formatting arguments
  --> $DIR/ifmt-bad-arg.rs:38:32
   |
LL |     format!("{} {}", 1, 2, foo=1, bar=2);
   |             -------            ^      ^ named argument never used
   |             |                  |
   |             |                  named argument never used
   |             multiple missing formatting specifiers

error: duplicate argument named `foo`
  --> $DIR/ifmt-bad-arg.rs:40:29
   |
LL |     format!("{foo}", foo=1, foo=2);
   |                      ---    ^^^ duplicate argument
   |                      |
   |                      previously here

error: positional arguments cannot follow named arguments
  --> $DIR/ifmt-bad-arg.rs:41:35
   |
LL |     format!("{foo} {} {}", foo=1, 2);
   |                            -----  ^ positional arguments must be before named arguments
   |                            |
   |                            named argument

error: named argument never used
  --> $DIR/ifmt-bad-arg.rs:45:51
   |
LL |     format!("{valuea} {valueb}", valuea=5, valuec=7);
   |             -------------------                   ^ named argument never used
   |             |
   |             formatting specifier missing

error: invalid format string: expected `'}'` but string was terminated
  --> $DIR/ifmt-bad-arg.rs:51:15
   |
LL |     format!("{");
   |              -^ expected `'}'` in format string
   |              |
   |              because of this opening brace
   |
   = note: if you intended to print `{`, you can escape it using `{{`

error: invalid format string: unmatched `}` found
  --> $DIR/ifmt-bad-arg.rs:53:18
   |
LL |     format!("foo } bar");
   |                  ^ unmatched `}` in format string
   |
   = note: if you intended to print `}`, you can escape it using `}}`

error: invalid format string: unmatched `}` found
  --> $DIR/ifmt-bad-arg.rs:54:18
   |
LL |     format!("foo }");
   |                  ^ unmatched `}` in format string
   |
   = note: if you intended to print `}`, you can escape it using `}}`

error: argument never used
  --> $DIR/ifmt-bad-arg.rs:56:27
   |
LL |     format!("foo %s baz", "bar");
   |                  --       ^^^^^ argument never used
   |                  |
   |                  help: format specifiers use curly braces: `{}`
   |
   = note: printf formatting is not supported; see the documentation for `std::fmt`

error: invalid format string: expected `'}'`, found `'t'`
  --> $DIR/ifmt-bad-arg.rs:75:1
   |
LL | ninth number: {
   |               - because of this opening brace
LL | tenth number: {}",
   | ^ expected `'}'` in format string
   |
   = note: if you intended to print `{`, you can escape it using `{{`

error: 4 positional arguments in format string, but there are 3 arguments
  --> $DIR/ifmt-bad-arg.rs:78:15
   |
LL |     println!("{} {:.*} {}", 1, 3.2, 4);
   |               ^^ ^^--^ ^^   -  ---  -
   |                    |
   |                    this precision flag adds an extra required argument at position 1, which is why there are 4 arguments expected
   |
   = note: positional arguments are zero-based
   = note: for information about formatting flags, visit https://doc.rust-lang.org/std/fmt/index.html

error: invalid reference to positional arguments 3 and 7 (there are 3 arguments)
  --> $DIR/ifmt-bad-arg.rs:81:21
   |
LL |     println!("{} {:07$.*} {}", 1, 3.2, 4);
   |                     ^^     ^
   |
   = note: positional arguments are zero-based
   = note: for information about formatting flags, visit https://doc.rust-lang.org/std/fmt/index.html

error: invalid reference to positional argument 7 (there are 3 arguments)
  --> $DIR/ifmt-bad-arg.rs:84:21
   |
LL |     println!("{} {:07$} {}", 1, 3.2, 4);
   |                     ^^
   |
   = note: positional arguments are zero-based
   = note: for information about formatting flags, visit https://doc.rust-lang.org/std/fmt/index.html

error: unknown format trait `foo`
  --> $DIR/ifmt-bad-arg.rs:86:17
   |
LL |     println!("{:foo}", 1);
   |                 ^^^
   |
   = note: the only appropriate formatting traits are:
           - ``, which uses the `Display` trait
           - `?`, which uses the `Debug` trait
           - `e`, which uses the `LowerExp` trait
           - `E`, which uses the `UpperExp` trait
           - `o`, which uses the `Octal` trait
           - `p`, which uses the `Pointer` trait
           - `b`, which uses the `Binary` trait
           - `x`, which uses the `LowerHex` trait
           - `X`, which uses the `UpperHex` trait

error: invalid reference to positional arguments 4, 5, 6 and 7 (there is 1 argument)
  --> $DIR/ifmt-bad-arg.rs:87:16
   |
LL |     println!("{5} {:4$} {6:7$}", 1);
   |                ^    ^^   ^ ^^
   |
   = note: positional arguments are zero-based
   = note: for information about formatting flags, visit https://doc.rust-lang.org/std/fmt/index.html

error: invalid reference to positional argument 0 (no arguments were given)
  --> $DIR/ifmt-bad-arg.rs:90:20
   |
LL |     println!("{foo:0$}");
   |                    ^^
   |
   = note: positional arguments are zero-based
   = note: for information about formatting flags, visit https://doc.rust-lang.org/std/fmt/index.html

error: 2 positional arguments in format string, but no arguments were given
  --> $DIR/ifmt-bad-arg.rs:95:15
   |
LL |     println!("{:.*}");
   |               ^^--^
   |                 |
   |                 this precision flag adds an extra required argument at position 0, which is why there are 2 arguments expected
   |
   = note: positional arguments are zero-based
   = note: for information about formatting flags, visit https://doc.rust-lang.org/std/fmt/index.html

error: invalid reference to positional argument 0 (no arguments were given)
  --> $DIR/ifmt-bad-arg.rs:97:16
   |
LL |     println!("{:.0$}");
   |                ^^^^
   |
   = note: positional arguments are zero-based
   = note: for information about formatting flags, visit https://doc.rust-lang.org/std/fmt/index.html

error[E0425]: cannot find value `foo` in this scope
  --> $DIR/ifmt-bad-arg.rs:27:18
   |
LL |     format!("{} {foo} {} {bar} {}", 1, 2, 3);
   |                  ^^^ not found in this scope

error[E0425]: cannot find value `bar` in this scope
  --> $DIR/ifmt-bad-arg.rs:27:27
   |
LL |     format!("{} {foo} {} {bar} {}", 1, 2, 3);
   |                           ^^^ not found in this scope

error[E0425]: cannot find value `foo` in this scope
  --> $DIR/ifmt-bad-arg.rs:31:15
   |
LL |     format!("{foo}");
   |               ^^^ not found in this scope

error[E0425]: cannot find value `valueb` in this scope
  --> $DIR/ifmt-bad-arg.rs:45:24
   |
LL |     format!("{valuea} {valueb}", valuea=5, valuec=7);
   |                        ^^^^^^ not found in this scope

error[E0425]: cannot find value `foo` in this scope
  --> $DIR/ifmt-bad-arg.rs:60:10
   |
LL |         {foo}
   |          ^^^ not found in this scope

error[E0308]: mismatched types
  --> $DIR/ifmt-bad-arg.rs:78:32
   |
LL |     println!("{} {:.*} {}", 1, 3.2, 4);
   |                    --          ^^^ expected `&usize`, found `&{float}`
   |                    |
   |                    arguments to this function are incorrect
   |
   = note: expected reference `&usize`
              found reference `&{float}`
note: associated function defined here
  --> $SRC_DIR/core/src/fmt/rt.rs:LL:COL
   = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0308]: mismatched types
  --> $DIR/ifmt-bad-arg.rs:81:35
   |
LL |     println!("{} {:07$.*} {}", 1, 3.2, 4);
   |                       --          ^^^ expected `&usize`, found `&{float}`
   |                       |
   |                       arguments to this function are incorrect
   |
   = note: expected reference `&usize`
              found reference `&{float}`
note: associated function defined here
  --> $SRC_DIR/core/src/fmt/rt.rs:LL:COL
   = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 38 previous errors

Some errors have detailed explanations: E0308, E0425.
For more information about an error, try `rustc --explain E0308`.
