Under heavy development. This site describes the intended 1.0 language. Current features and performance vary. Development status
Sn50SnThe SnAPI programming language
Development · Evolving reference

AttributeUsage

Declares legal targets, repetition, inheritance, and retention for an attribute type.

Sn is under heavy development. This reference includes the intended 1.0 design; features may be incomplete in the current compiler. Read the status →

Module std.meta

import std.meta;

Public declaration contracts and authored examples. A page can document several related symbols. Implementation bodies are excluded.

AttributeUsage

pub attribute AttributeUsage

Declares legal targets, repetition, inheritance, and retention for an attribute type.

Stack one application per legal target. Entries must agree on policy fields; duplicate targets and combining .Any with another target are errors. AttributeUsage is the trusted repeatable bootstrap exception.

AttributeUsage.Target

pub Target: AttributeTarget;

Stores the semantic target admitted by this policy row.

AttributeUsage.Repeatable

pub Repeatable: bool;

Stores whether distinct applications may repeat on one target.

AttributeUsage.Inherited

pub Inherited: bool;

Stores whether applications propagate through exact inheritance slots.

AttributeUsage.Retention

pub Retention: AttributeRetention;

Stores runtime-record retention independently from compile-time effects.

Documentation snapshot: October 24, 2026 About versions ↗
Searching Development · language & standard library