S0057: Move value used more than once
Generated from rellum-diagnostics/src/db.rs.
Explanation
Move types have one owner. Using a Move value in two places would require two owners simultaneously, which violates the ownership model. The tick boundary reclaims Move values that do not cross into ~ state, so sharing within a tick requires an explicit tick-scoped handle.
Common causes
- a String or array used in two effect arguments
- a String or array used in both a graph derivation and an effect
Canonical fixes
- wrap each use in share() to create tick-scoped handles
Before:
send!(a, data)
send!(b, data)
After:
send!(a, share(data))
send!(b, share(data))
Code example
send!(a, data)
send!(b, data)