Why this fires¶
super(...) calls the pre-decoration target. A non-empty explicit argument
list is checked against that target's real parameter types, names, defaults,
and arity.
@mixin
fn corrupt() -> int { super("wrong") }
@corrupt
fn identity(value: int) -> int { value }
// ^ error[TM115]Bare super() is different: it forwards the wrapper's original arguments.
For methods, the captured receiver is automatically reinserted even when the
mixin supplies explicit user arguments.
Fix it¶
Pass arguments accepted by the decorated function or method, or use bare
super() when the original call should pass through unchanged.