Mojo decorators
A Mojo decorator is a higher-order
function that modifies or
extends the behavior of a struct, a function, or some other code. Instead of
actually calling the higher-order function, you simply add the decorator (such
as the @value
decorator) above your code (such as a struct). The Mojo
compiler then uses the decorator function to modify your code at compile time.
The following pages describe each built-in decorator with examples.
@always_inline
Copies the body of a function directly into the body of the calling function.
@__copy_capture
Captures register-passable typed values by copy.
@implicit
Marks a constructor as eligible for implicit conversion.
@nonmaterializable
Declares that a type should exist only in the parameter domain.
@parameter
Executes a function or if statement at compile time.
@register_passable
Declares that a type should be passed in machine registers.
@staticmethod
Declares a struct method as static.
@value
Generates boilerplate lifecycle methods for a struct.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!