summaryrefslogtreecommitdiffstats
path: root/tests/ui/fmt/ifmt-bad-arg.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/fmt/ifmt-bad-arg.stderr')
-rw-r--r--tests/ui/fmt/ifmt-bad-arg.stderr332
1 files changed, 332 insertions, 0 deletions
diff --git a/tests/ui/fmt/ifmt-bad-arg.stderr b/tests/ui/fmt/ifmt-bad-arg.stderr
new file mode 100644
index 000000000..c2619d6df
--- /dev/null
+++ b/tests/ui/fmt/ifmt-bad-arg.stderr
@@ -0,0 +1,332 @@
+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 floating-point number
+ | arguments to this function are incorrect
+ |
+ = note: expected reference `&usize`
+ found reference `&{float}`
+note: associated function defined here
+ --> $SRC_DIR/core/src/fmt/mod.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 floating-point number
+ | arguments to this function are incorrect
+ |
+ = note: expected reference `&usize`
+ found reference `&{float}`
+note: associated function defined here
+ --> $SRC_DIR/core/src/fmt/mod.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`.