Renderingen-US

unstable

Translation status: English reader-locale proof. Term names and code fences follow the en pack; supporting prose may still be English.

Marks an interface method as planned but unavailable for a target.

Syntax: @ unstable [target] [reason]

Category#

availability

Examples#

radix/corpus/annotation-sugar/nondum-braced.fab (canonical · annotation)#

Braced canonical @ unstable availability record.

# =============================================================================
# unstable — Braced canonical @ unstable availability record.
# =============================================================================
#
# What this teaches:
#   • Unimplemented marker — `@ unstable` annotates a declaration as not yet
#     implemented for a specific backend target
#   • Braced annotation syntax — `@ unstable { target = rs, record = "…" }`
#     provides the target backend and a rationale string
#
# Common mistakes:
#   • using `@ unstable` on declarations that are actually implemented for the current target (SEM017)
#
# See also: unstable, annotation-sugar
# =============================================================================

interface tempus {
    @ unstable { target = rs, record = "timer handles are not implemented" }
    fn siste(int handle) → void
}

main {
    print "nondum-braced"
}

Expected output:

nondum-braced

radix/corpus/meta/nondum.fab (canonical · annotation)#

Marks an interface method as planned but unavailable for a target.

# =============================================================================
# unstable — Marks an interface method as planned but unavailable for a target.
# =============================================================================
#
# What this teaches:
#   • the `@unstable` annotation — marks interface methods as planned but not yet implemented for a target backend
#   • target-specific availability annotations with optional reason strings
#
# Common mistakes:
#   • Calling a method marked @ unstable — the compiler rejects calls to unstable methods for the current target (SEM017).
#
# See also: interface, @
# =============================================================================

# meta/nondum — planned-but-unavailable interface methods
#
# GRAMMAR:
#   interfaceMethod :← '@' 'unstable' target? stringLit
#
# EXPECTED OUTPUT:
#   unstable interface declared
#
# BACKEND:
#   Calls to @ unstable methods fail semantic check (SEM017); do not invoke here.

interface tempus {
    @ unstable { target = rs, record = "timer handles are not implemented yet" }
    fn siste(int handle) → void
}

main {
    print "nondum implendum declared"
}

Expected output:

nondum implendum declared