From 8d4d5b78bb8b75aa2fdad8e58c70b810b64e098c Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Thu, 10 Nov 2022 00:29:19 +0000 Subject: [PATCH] perf: fail fast on obj/objcomp parsing conflict --- --- a/crates/jrsonnet-parser/src/lib.rs +++ b/crates/jrsonnet-parser/src/lib.rs @@ -194,7 +194,7 @@ / assertion:assertion(s) {expr::Member::AssertStmt(assertion)} / field:field(s) {expr::Member::Field(field)} pub rule objinside(s: &ParserSettings) -> expr::ObjBody - = pre_locals:(b: obj_local(s) comma() {b})* field:field(s) post_locals:(comma() b:obj_local(s) {b})* _ ("," _)? forspec:forspec(s) others:(_ rest:compspec(s) {rest})? { + = pre_locals:(b: obj_local(s) comma() {b})* &"[" field:field(s) post_locals:(comma() b:obj_local(s) {b})* _ ("," _)? forspec:forspec(s) others:(_ rest:compspec(s) {rest})? { let mut compspecs = vec![CompSpec::ForSpec(forspec)]; compspecs.extend(others.unwrap_or_default()); expr::ObjBody::ObjComp(expr::ObjComp{ -- gitstuff