Rellum Rellum

S0026: effect expression must be an effect call

Generated from rellum-diagnostics/src/db.rs.

Explanation

The body of an effect binding is Fire-phase code. It must be an effect call or a -> chain of effect calls so the compiler can collect the exact runtime effects and check resource conflicts before execution.

Common causes

Canonical fixes

Before:

main! = value

After:

main! = print!(value)

Before:

main! = len(history)

After:

count = len(history)
main! = print!(count)

Before:

main! = print!(value)
write!("build/out.txt", value)

After:

main! = print!(value) -> write!("build/out.txt", value)

Code example

main! = value