nondum
Translation status: 简体中文 reader-locale proof. Code fences render through the zh-Hans pipeline; prose is canonical Latin.
Marks an interface method as planned but unavailable for a target.
Syntax: @ nondum [target] [reason]
Category#
availability
Related#
- nondum
- annotation-sugar
Examples#
radix/corpus/annotation-sugar/nondum-braced.fab (canonical · annotation)#
Braced canonical @ nondum availability record.
# =============================================================================
# nondum — Braced canonical @ nondum availability record.
# =============================================================================
#
# What this teaches:
# • Unimplemented marker — `@ nondum` annotates a declaration as not yet
# implemented for a specific backend target
# • Braced annotation syntax — `@ nondum { target = rs, ratio = "…" }`
# provides the target backend and a rationale string
#
# Common mistakes:
# • using `@ nondum` on declarations that are actually implemented for the current target (SEM017)
#
# See also: nondum, annotation-sugar
# =============================================================================
interface tempus {
@ unstable { target = rs, ratio = "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.
# =============================================================================
# nondum — Marks an interface method as planned but unavailable for a target.
# =============================================================================
#
# What this teaches:
# • the `@nondum` 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 @ nondum — the compiler rejects calls to nondum methods for the current target (SEM017).
#
# See also: implendum, @
# =============================================================================
# meta/nondum — planned-but-unavailable interface methods
#
# GRAMMAR:
# interfaceMethod :← '@' 'nondum' target? stringLit
#
# EXPECTED OUTPUT:
# nondum implendum declared
#
# BACKEND:
# Calls to @ nondum methods fail semantic check (SEM017); do not invoke here.
interface tempus {
@ unstable rs "timer handles are not implemented yet"
fn siste(int handle) → void
}
main {
print "nondum implendum declared"
}Expected output:
nondum implendum declared