Improve escaping in string interpolation (#4982)

This commit is contained in:
JT
2022-03-27 12:52:09 +13:00
committed by GitHub
parent 3484e0defd
commit cf88c8eef3
2 changed files with 13 additions and 1 deletions

View File

@ -1438,7 +1438,14 @@ pub fn parse_string_interpolation(
#[allow(clippy::needless_range_loop)]
while b != end {
if contents[b - start] == b'(' && mode == InterpolationMode::String {
if contents[b - start] == b'('
&& (if double_quote && (b - start) > 0 {
contents[b - start - 1] != b'\\'
} else {
true
})
&& mode == InterpolationMode::String
{
mode = InterpolationMode::Expression;
if token_start < b {
let span = Span {