Skip to content

Fail fast instead of assigning an error value #52

Description

@jkeiser

Right now, a = 1/0; 10 returns 10. With this change, a would not be assigned and the expression would return a divide by zero error.

The original effect can still be achieved using a = { 1/0 }; 10, and this matches intuitions that errors will always fail fast (unless you explicitly make them lazy).

It also allows a = 1 to be handled in operator overloads, because the main blocker up to this point was adding an error location to the value.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions