Renderingen-US

private

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

Marks a declaration as module-private (the default tier).

Aliases: private

Syntax: @ private <declaration>

Category#

modifier

Examples#

radix/corpus/privata/privata.fab (canonical · keyword)#

Marks a declaration as module-private (the default tier).

# =============================================================================
# private — Marks a declaration as module-private (the default tier).
# =============================================================================
#
# What this teaches:
#   • Module-level visibility — `@ private` (en spelling `@ private`) restricts
#     a declaration to the current module, keeping it out of the importable
#     surface
#   • Used as an annotation (`@ private`) on function declarations to control
#     the module boundary; unmarked declarations are module-private by default
#
# Common mistakes:
#   • Expecting `@ private` to mean anything beyond module-private — it is an
#     explicit marker for the default tier (accepted, no warning).
#
# See also: public, import
# =============================================================================

# @ private marks a declaration as private metadata
#
# Annotations attach visibility metadata to the following declaration.
#
# GRAMMAR:
#   annotatedDecl :← '@' 'private' funcDecl
#
# EXPECTED OUTPUT:
#   private

@ private { }
fn privatum() → string {
    return "privata"
}

main {
    print privatum()
}

Expected output:

privata