diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2018-12-26 20:05:56 -0800 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2018-12-26 20:36:02 -0800 |
| commit | 5e75001c596991d63729b41769164197db6fc5c8 (patch) | |
| tree | 2f5339c9d148bfbd43497a3a81414032de2dd74d /src/libsyntax_ext | |
| parent | a1bad57fa59a8069a6ebb05cd6a2ae73c88b2e98 (diff) | |
| download | rust-5e75001c596991d63729b41769164197db6fc5c8.tar.gz rust-5e75001c596991d63729b41769164197db6fc5c8.zip | |
Point at correct span for arguments in format strings
When a format string has escaped whitespace characters format arguments were shifted by one per each escaped character. Account for these escaped characters when synthesizing the spans. Fix #55155.
Diffstat (limited to 'src/libsyntax_ext')
| -rw-r--r-- | src/libsyntax_ext/format.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libsyntax_ext/format.rs b/src/libsyntax_ext/format.rs index 220765fd8c7..17e692d1d32 100644 --- a/src/libsyntax_ext/format.rs +++ b/src/libsyntax_ext/format.rs @@ -861,7 +861,9 @@ pub fn expand_preparsed_format_args(ecx: &mut ExtCtxt, } let arg_spans = parser.arg_places.iter() - .map(|&(start, end)| fmt.span.from_inner_byte_pos(start, end)) + .map(|&(parse::SpanIndex(start), parse::SpanIndex(end))| { + fmt.span.from_inner_byte_pos(start, end) + }) .collect(); let mut cx = Context { |
