concepts

Decorators

The declaration forms and annotations rasc understands — unknown decorators are ignored rather than rejected.

DecoratorMeaning
structplain-old-data type with flattened representation — see Structs & Refs
FixedArray<T, N>fixed-size value elements embedded flat in a field’s owner — see Value Arrays
@inlineguaranteed inlining under -O regardless of size (recursion excluded)
@unmanagedraw struct: no GC header, no rtId; works with changetype and pointer arithmetic
operator membersoperator overloads are C++-style members on classes and structs alike — operator[](i), operator[]=(i, v), unchecked operator[] (the unchecked() fast path), operator==, static operator+(l, r). rasc has no @operator decorator — operators are ordinary members; see Methods & Constructors
@external("mod", "name")bind a declare to a specific import module and field — see Host Bindings
@builtincalls compile to compiler intrinsics (how the stdlib bottoms out)

Unknown decorators are ignored rather than rejected.