diff --git a/src/syntax/parsing.rs b/src/syntax/parsing.rs index 7d3da63ec..96db687db 100644 --- a/src/syntax/parsing.rs +++ b/src/syntax/parsing.rs @@ -123,7 +123,7 @@ impl Parser<'_> { self.skip_white(); let name = self.parse_ident().unwrap_or_else(|| { self.expected_found_or_at("function name", before_name); - Spanned::zero(Ident(String::new())) + Spanned::new(Ident(String::new()), Span::at(before_name)) }); self.skip_white(); diff --git a/src/syntax/tree.rs b/src/syntax/tree.rs index 47c79117b..ae2e98920 100644 --- a/src/syntax/tree.rs +++ b/src/syntax/tree.rs @@ -191,8 +191,10 @@ impl CallExpr { f.decorations.push(Spanned::new(Decoration::Resolved, span)); pass.output } else { - error!(@f, span, "unknown function"); - f.decorations.push(Spanned::new(Decoration::Unresolved, span)); + if !name.is_empty() { + error!(@f, span, "unknown function"); + f.decorations.push(Spanned::new(Decoration::Unresolved, span)); + } Value::Table(args) } }