S0083: ingress effect in wrapper body
Generated from rellum-diagnostics/src/db.rs.
Explanation
Ingress effects observe external input and are only valid as event sources. Effect wrappers describe Fire-phase output work, so allowing ingress in a wrapper would mix Observe and Fire phases.
Common causes
- using stdin_line!, stdin_char!, button!, or tick_ms! inside an effect wrapper
- trying to hide event creation behind an effect wrapper
- confusing event sources with output effects
Canonical fixes
- declare ingress with event(...) instead
Before:
effect read_line!() = stdin_line!()
After:
line = event(stdin_line!())
- keep wrappers for output effects such as print!, write!, send!, or sleep!
Code example
effect read_line!() = stdin_line!()