--- a/crates/jrsonnet-ir-parser/src/lib.rs +++ b/crates/jrsonnet-ir-parser/src/lib.rs @@ -219,8 +219,14 @@ } fn ident(p: &mut Parser<'_>) -> Result { + if !p.at(SyntaxKind::IDENT) { + return Err(p.error(format!( + "expected identifier, got {}", + p.current_desc() + ))); + } let text = p.text(); - p.eat(SyntaxKind::IDENT)?; + p.eat_any(); Ok(IStr::from(text)) }