Why this fires¶
A linear value is used after it was consumed, or consumed twice, or consumed where it is only borrowed.
tx.commit()
tx.execute("...") // TE171: `tx` was already consumedA parameter without sink is lent to the function, which cannot consume it.
A linear field read through a borrowed value cannot be consumed either.
Fix it¶
Use the value before its consumer, declare the parameter sink to take
ownership, or destructure the holder in its own module to take a field out.