diff options
| author | Esteban Küber <esteban@commure.com> | 2018-07-22 22:40:24 -0700 |
|---|---|---|
| committer | Esteban Küber <esteban@commure.com> | 2018-07-22 23:09:00 -0700 |
| commit | 38abca8c2d7de08861cd61bc439efdb7cf4de398 (patch) | |
| tree | 0e252e1fa78c65e3977e8328f5d0ae687c3cb1ac /src/test | |
| parent | d3b3bc57670ab91a53b2100cf3dfe78947bfe077 (diff) | |
| download | rust-38abca8c2d7de08861cd61bc439efdb7cf4de398.tar.gz rust-38abca8c2d7de08861cd61bc439efdb7cf4de398.zip | |
Point at internal span in format string
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/ifmt-bad-arg.rs (renamed from src/test/compile-fail/ifmt-bad-arg.rs) | 0 | ||||
| -rw-r--r-- | src/test/ui/ifmt-bad-arg.stderr | 187 | ||||
| -rw-r--r-- | src/test/ui/macros/macro-backtrace-println.stderr | 4 |
3 files changed, 189 insertions, 2 deletions
diff --git a/src/test/compile-fail/ifmt-bad-arg.rs b/src/test/ui/ifmt-bad-arg.rs index afe9bc152a3..afe9bc152a3 100644 --- a/src/test/compile-fail/ifmt-bad-arg.rs +++ b/src/test/ui/ifmt-bad-arg.rs diff --git a/src/test/ui/ifmt-bad-arg.stderr b/src/test/ui/ifmt-bad-arg.stderr new file mode 100644 index 00000000000..4ad3c2b6550 --- /dev/null +++ b/src/test/ui/ifmt-bad-arg.stderr @@ -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 + diff --git a/src/test/ui/macros/macro-backtrace-println.stderr b/src/test/ui/macros/macro-backtrace-println.stderr index 8f2eb0173a4..f0ca576f652 100644 --- a/src/test/ui/macros/macro-backtrace-println.stderr +++ b/src/test/ui/macros/macro-backtrace-println.stderr @@ -1,8 +1,8 @@ error: 1 positional argument in format string, but no arguments were given - --> $DIR/macro-backtrace-println.rs:24:30 + --> $DIR/macro-backtrace-println.rs:24:31 | LL | ($fmt:expr) => (myprint!(concat!($fmt, "/n"))); //~ ERROR no arguments were given - | ^^^^^^^^^^^^^^^^^^^ + | ^^ ... LL | myprintln!("{}"); | ----------------- in this macro invocation |
