From de6b823440d3eb7d6a2c7e7b9e148253c7b33520 Mon Sep 17 00:00:00 2001 From: ConnorSkees <39542938+ConnorSkees@users.noreply.github.com> Date: Wed, 1 Apr 2020 19:10:58 -0400 Subject: [PATCH] handle backslash as last character in property --- src/utils.rs | 2 +- tests/error.rs | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/utils.rs b/src/utils.rs index 840705b..77d9db5 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -393,7 +393,7 @@ pub(crate) fn eat_ident>( toks.next(); } if n.is_empty() { - let c = toks.next().unwrap().kind; + let c = toks.next().ok_or("expected \"{\".")?.kind; if (c == '-' && !s.is_empty()) || c.is_ascii_alphabetic() { s.push(c); } else { diff --git a/tests/error.rs b/tests/error.rs index b6b9792..17e47a9 100644 --- a/tests/error.rs +++ b/tests/error.rs @@ -27,3 +27,12 @@ error!( question_mark_inside_value, "a {foo: bar?}", "Error: expected \";\"." ); +// TODO: special parsing rules for variable names +// error!( +// interpolation_in_variable_declaration, +// "$base-#{lor}: #036;", "Error: expected \":\"." +// ); +error!( + backslash_as_last_character, + "a {colo\\: red;}", "Error: expected \"{\"." +);