remove padding from multiline format string label

Fixes #53836.
This commit is contained in:
Andy Russell 2018-10-03 14:29:02 -04:00
parent 1c5e9c68ea
commit b14dc69ee8
No known key found for this signature in database
GPG key ID: BE2221033EDBC374
3 changed files with 22 additions and 2 deletions

View file

@ -288,7 +288,7 @@ impl<'a> Parser<'a> {
self.cur.next();
Some(pos)
} else {
let pos = pos + padding + 1;
let pos = pos + raw + 1;
self.err(format!("expected `{:?}`, found `{:?}`", c, maybe),
format!("expected `{}`", c),
pos,

View file

@ -71,4 +71,18 @@ fn main() {
"##);
//~^^^ ERROR: there is no argument named `foo`
// bad syntax in format string with multiple newlines, #53836
format!("first number: {}
second number: {}
third number: {}
fourth number: {}
fifth number: {}
sixth number: {}
seventh number: {}
eighth number: {}
ninth number: {
tenth number: {}",
1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
//~^^ ERROR: invalid format string
}

View file

@ -204,5 +204,11 @@ error: there is no argument named `foo`
LL | {foo}
| ^^^^^
error: aborting due to 27 previous errors
error: invalid format string: expected `'}'`, found `'t'`
--> $DIR/ifmt-bad-arg.rs:85:1
|
LL | tenth number: {}",
| ^ expected `}` in format string
error: aborting due to 28 previous errors