Skip to content
TE153 · Type · error

`@inline(always)` cannot be expanded hygienically

The always-inline contract needs a supported hygienic body; simplify it or downgrade to bare `@inline`.

@inline(always) is a compile contract, not a best-effort hint. The current typed inliner accepts a non-async, single-expression body whose bare identifiers are parameters; qualified paths such as std::math.max are safe.

Make the wrapper a single hygienic expression, or downgrade to bare @inline so the optimizer may keep an ordinary call.

@inline(always)
fn clamp_floor(value: int, floor: int) -> int {
  std::math.max(value, floor)
}

See the typed inline specification.

Search Zolo

9 results

en