diff options
| author | Laurenz <laurmaedje@gmail.com> | 2020-08-27 21:34:48 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2020-08-27 21:34:48 +0200 |
| commit | 37835e4d8e5029c857ba4f11b8c2a09563423746 (patch) | |
| tree | e7d7f843cf62164d6b70555cd50e34ec96c4544b /src | |
| parent | ad8e391c69fdcfc18fccd448c7bfc2d78d482ada (diff) | |
Better error reporting for nameless function 💡
Diffstat (limited to 'src')
| -rw-r--r-- | src/syntax/parsing.rs | 2 | ||||
| -rw-r--r-- | src/syntax/tree.rs | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/syntax/parsing.rs b/src/syntax/parsing.rs index 7d3da63e..96db687d 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 47c79117..ae2e9892 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) } } |
