Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Point at internal span in format string
- Loading branch information
Esteban Küber
committed
Jul 23, 2018
1 parent
d3b3bc5
commit 38abca8
Showing
5 changed files
with
224 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,187 @@ | ||
error: 1 positional argument in format string, but no arguments were given | ||
--> $DIR/ifmt-bad-arg.rs:16:14 | ||
| | ||
LL | format!("{}"); | ||
| ^^ | ||
|
||
error: invalid reference to positional argument 1 (there is 1 argument) | ||
--> $DIR/ifmt-bad-arg.rs:19:14 | ||
| | ||
LL | format!("{1}", 1); | ||
| ^^^ | ||
| | ||
= note: positional arguments are zero-based | ||
|
||
error: argument never used | ||
--> $DIR/ifmt-bad-arg.rs:19:20 | ||
| | ||
LL | format!("{1}", 1); | ||
| ^ | ||
|
||
error: 2 positional arguments in format string, but no arguments were given | ||
--> $DIR/ifmt-bad-arg.rs:23:14 | ||
| | ||
LL | format!("{} {}"); | ||
| ^^ ^^ | ||
|
||
error: invalid reference to positional argument 1 (there is 1 argument) | ||
--> $DIR/ifmt-bad-arg.rs:26:14 | ||
| | ||
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:29:14 | ||
| | ||
LL | format!("{0} {1} {2}", 1, 2); | ||
| ^^^ ^^^ ^^^ | ||
| | ||
= note: positional arguments are zero-based | ||
|
||
error: invalid reference to positional argument 2 (there are 2 arguments) | ||
--> $DIR/ifmt-bad-arg.rs:32:14 | ||
| | ||
LL | format!("{} {value} {} {}", 1, value=2); | ||
| ^^ ^^^^^^^ ^^ ^^ | ||
| | ||
= note: positional arguments are zero-based | ||
|
||
error: invalid reference to positional arguments 3, 4 and 5 (there are 3 arguments) | ||
--> $DIR/ifmt-bad-arg.rs:34:14 | ||
| | ||
LL | format!("{name} {value} {} {} {} {} {} {}", 0, name=1, value=2); | ||
| ^^^^^^ ^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^ | ||
| | ||
= note: positional arguments are zero-based | ||
|
||
error: there is no argument named `foo` | ||
--> $DIR/ifmt-bad-arg.rs:37:13 | ||
| | ||
LL | format!("{} {foo} {} {bar} {}", 1, 2, 3); | ||
| ^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
error: there is no argument named `bar` | ||
--> $DIR/ifmt-bad-arg.rs:37:13 | ||
| | ||
LL | format!("{} {foo} {} {bar} {}", 1, 2, 3); | ||
| ^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
error: there is no argument named `foo` | ||
--> $DIR/ifmt-bad-arg.rs:41:13 | ||
| | ||
LL | format!("{foo}"); //~ ERROR: no argument named `foo` | ||
| ^^^^^^^ | ||
|
||
error: multiple unused formatting arguments | ||
--> $DIR/ifmt-bad-arg.rs:42:17 | ||
| | ||
LL | format!("", 1, 2); //~ ERROR: multiple unused formatting arguments | ||
| -- ^ ^ | ||
| | | ||
| multiple missing formatting arguments | ||
|
||
error: argument never used | ||
--> $DIR/ifmt-bad-arg.rs:43:22 | ||
| | ||
LL | format!("{}", 1, 2); //~ ERROR: argument never used | ||
| ^ | ||
|
||
error: argument never used | ||
--> $DIR/ifmt-bad-arg.rs:44:20 | ||
| | ||
LL | format!("{1}", 1, 2); //~ ERROR: argument never used | ||
| ^ | ||
|
||
error: named argument never used | ||
--> $DIR/ifmt-bad-arg.rs:45:26 | ||
| | ||
LL | format!("{}", 1, foo=2); //~ ERROR: named argument never used | ||
| ^ | ||
|
||
error: argument never used | ||
--> $DIR/ifmt-bad-arg.rs:46:22 | ||
| | ||
LL | format!("{foo}", 1, foo=2); //~ ERROR: argument never used | ||
| ^ | ||
|
||
error: named argument never used | ||
--> $DIR/ifmt-bad-arg.rs:47:21 | ||
| | ||
LL | format!("", foo=2); //~ ERROR: named argument never used | ||
| ^ | ||
|
||
error: multiple unused formatting arguments | ||
--> $DIR/ifmt-bad-arg.rs:48:32 | ||
| | ||
LL | format!("{} {}", 1, 2, foo=1, bar=2); //~ ERROR: multiple unused formatting arguments | ||
| ------- ^ ^ | ||
| | | ||
| multiple missing formatting arguments | ||
|
||
error: duplicate argument named `foo` | ||
--> $DIR/ifmt-bad-arg.rs:50:33 | ||
| | ||
LL | format!("{foo}", foo=1, foo=2); //~ ERROR: duplicate argument | ||
| ^ | ||
| | ||
note: previously here | ||
--> $DIR/ifmt-bad-arg.rs:50:26 | ||
| | ||
LL | format!("{foo}", foo=1, foo=2); //~ ERROR: duplicate argument | ||
| ^ | ||
|
||
error: expected ident, positional arguments cannot follow named arguments | ||
--> $DIR/ifmt-bad-arg.rs:51:24 | ||
| | ||
LL | format!("", foo=1, 2); //~ ERROR: positional arguments cannot follow | ||
| ^ | ||
|
||
error: there is no argument named `valueb` | ||
--> $DIR/ifmt-bad-arg.rs:55:13 | ||
| | ||
LL | format!("{valuea} {valueb}", valuea=5, valuec=7); | ||
| ^^^^^^^^^^^^^^^^^^^ | ||
|
||
error: named argument never used | ||
--> $DIR/ifmt-bad-arg.rs:55:51 | ||
| | ||
LL | format!("{valuea} {valueb}", valuea=5, valuec=7); | ||
| ^ | ||
|
||
error: invalid format string: expected `'}'` but string was terminated | ||
--> $DIR/ifmt-bad-arg.rs:61:15 | ||
| | ||
LL | format!("{"); //~ ERROR: expected `'}'` but string was terminated | ||
| ^ expected `'}'` 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:63:18 | ||
| | ||
LL | format!("foo } bar"); //~ ERROR: unmatched `}` found | ||
| ^ 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:64:18 | ||
| | ||
LL | format!("foo }"); //~ ERROR: unmatched `}` found | ||
| ^ unmatched `}` in format string | ||
| | ||
= note: if you intended to print `}`, you can escape it using `}}` | ||
|
||
error: argument never used | ||
--> $DIR/ifmt-bad-arg.rs:66:27 | ||
| | ||
LL | format!("foo %s baz", "bar"); //~ ERROR: argument never used | ||
| ^^^^^ | ||
| | ||
= help: `%s` should be written as `{}` | ||
= note: printf formatting not supported; see the documentation for `std::fmt` | ||
|
||
error: aborting due to 26 previous errors | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters