-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Open
Labels
bugIndicates an unexpected problem or unintended behaviorIndicates an unexpected problem or unintended behaviorcompiler:loweringSyntax lowering (compiler front end, 2nd stage)Syntax lowering (compiler front end, 2nd stage)error messagesBetter, more actionable error messagesBetter, more actionable error messages
Description
A .
Expr with the wrong number of arguments causes lowering to get stuck, looping forever in flisp:
Meta.lower(Main, Expr(:., :a, :b, :c))
This doesn't usually come up in practice, but was revealed while fuzzing new REPL code. It can be produced if one converts the output of JuliaSyntax in ignore_errors
mode:
julia> Expr(parsestmt(SyntaxNode, "a .b", ignore_errors=true))
:($(Expr(:., :a, :($(Expr(:error))), :(:b))))
Metadata
Metadata
Assignees
Labels
bugIndicates an unexpected problem or unintended behaviorIndicates an unexpected problem or unintended behaviorcompiler:loweringSyntax lowering (compiler front end, 2nd stage)Syntax lowering (compiler front end, 2nd stage)error messagesBetter, more actionable error messagesBetter, more actionable error messages