fix { x := ... } being interpreted as an object

This commit is contained in:
Mark 2023-11-30 17:53:41 +01:00
parent 48c1381194
commit d21715c2d3

View File

@ -321,18 +321,25 @@ pub fn parse_no_chain(
let name = src.next_word().to_owned(); let name = src.next_word().to_owned();
src.skip_whitespace(); src.skip_whitespace();
match src.next_char() { match src.next_char() {
Some(':') => elems.push(( Some(':') if src.next_char().is_some_and(|c| c.is_whitespace()) => elems
.push((
name, name,
match parse(src, srca) { match parse(src, srca) {
Ok(Some(v)) => v, Ok(Some(v)) => v,
Ok(None) => { Ok(None) => {
return Err(CheckError::new() return Err(CheckError::new()
.src(vec![((pos_in_src, src.get_pos(), srca).into(), None)]) .src(vec![(
(pos_in_src, src.get_pos(), srca).into(),
None,
)])
.msg(format!("EOF after `:` in object"))) .msg(format!("EOF after `:` in object")))
} }
Err(e) => { Err(e) => {
return Err(CheckError::new() return Err(CheckError::new()
.src(vec![((pos_in_src, src.get_pos(), srca).into(), None)]) .src(vec![(
(pos_in_src, src.get_pos(), srca).into(),
None,
)])
.msg(format!("Error in statement after `:` in object")) .msg(format!("Error in statement after `:` in object"))
.err(e)) .err(e))
} }