From 5b9bac2ab62063229c419909f89a41890c57f78f Mon Sep 17 00:00:00 2001 From: Ömer Sinan Ağacan Date: Sun, 21 Mar 2021 17:29:21 +0300 Subject: format macro argument parsing fix When the character next to `{}` is "shifted" (when mapping a byte index in the format string to span) we should avoid shifting the span end index, so first map the index of `}` to span, then bump the span, instead of first mapping the next byte index to a span (which causes bumping the end span too much). Regression test added. Fixes #83344 --- src/tools/clippy/tests/ui/write_literal_2.stderr | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/tools/clippy/tests/ui') diff --git a/src/tools/clippy/tests/ui/write_literal_2.stderr b/src/tools/clippy/tests/ui/write_literal_2.stderr index 5b488358011..0aa1b55e58c 100644 --- a/src/tools/clippy/tests/ui/write_literal_2.stderr +++ b/src/tools/clippy/tests/ui/write_literal_2.stderr @@ -75,8 +75,9 @@ LL | "1", "2", "3", | help: try this | -LL | "some 1{} / {}", "2", "3", - | ^ -- +LL | "some 1/ +LL | {} / {}", "2", "3", + | error: literal with an empty format string --> $DIR/write_literal_2.rs:25:14 -- cgit 1.4.1-3-g733a5