diff --git a/src/grammar/RustLexer.g4 b/src/grammar/RustLexer.g4 index 88de5db41fe7..7d071d5e724b 100644 --- a/src/grammar/RustLexer.g4 +++ b/src/grammar/RustLexer.g4 @@ -194,8 +194,13 @@ LIT_STR_RAW : 'r' LIT_STR_RAW_INNER SUFFIX? ; + +QUESTION : '?'; + IDENT : XID_start XID_continue* ; +fragment QUESTION_IDENTIFIER : QUESTION? IDENT; + LIFETIME : '\'' IDENT ; WHITESPACE : [ \r\n\t]+ ; diff --git a/src/grammar/verify.rs b/src/grammar/verify.rs index 9194c7a47663..86610602e880 100644 --- a/src/grammar/verify.rs +++ b/src/grammar/verify.rs @@ -107,6 +107,7 @@ fn parse_token_list(file: &str) -> HashMap { "LE" => token::Le, "LIT_BINARY" => token::Literal(token::Binary(Name(0)), None), "LIT_BINARY_RAW" => token::Literal(token::BinaryRaw(Name(0), 0), None), + "QUESTION" => token::Question, _ => continue, };