Skip to content

Imperative block passed as lazy argument is evaluated more than once #9814

@GregoryTravis

Description

@GregoryTravis

Code to reproduce:

foo ~value =
    if value.is_error then Panic.throw value.catch else value

main =
    foo <|
        IO.println "hey"

Expected:

hey

Actual:

hey
hey

Metadata

Metadata

Labels

Type

No type

Projects

Status

🟢 Accepted

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions