Gossamer language reference¶
One page per language feature. Source is crates/gossamer-std/src/manifest/feature_status.rs; this index is regenerated from manifest::FEATURE_STATUS by gos doc --emit-stdlib.
| Feature | Status | Summary |
|---|---|---|
lang::let |
shipped | Immutable binding. |
lang::let_mut |
shipped | Mutable binding. |
lang::if |
shipped | Conditional expression. |
lang::match |
shipped | Exhaustive pattern match expression. |
lang::if_let |
shipped | Single-variant pattern sugar. |
lang::while_let |
shipped | Loop that drains while a pattern matches. |
lang::for |
shipped | Iterator-driven loop. |
lang::loop |
shipped | Unconditional loop with break value. |
lang::break |
shipped | Exit the innermost loop, optionally with a value. |
lang::continue |
shipped | Skip to the next iteration of the innermost loop. |
lang::return |
shipped | Exit the enclosing function with a value. |
lang::question_mark |
shipped | Short-circuit Result / Option propagation operator. |
lang::pipe |
shipped | Forward-pipe operator \|>. |
lang::closure |
shipped | Lambda expression \|args\| body. |
lang::fn |
shipped | Function declaration. |
lang::struct |
shipped | Product type declaration. |
lang::enum |
shipped | Sum type declaration with payload-carrying variants. |
lang::trait |
shipped | Behaviour interface declaration. |
lang::impl |
shipped | Inherent and trait implementation blocks. |
lang::generics |
shipped | Type parameters on functions / impls / structs. |
lang::go |
shipped | Goroutine spawn. |
lang::select |
shipped | Channel multiplex select expression. |
lang::channel |
shipped | Typed channel via std::sync::channel. |
lang::spawn |
shipped | Goroutine join handle: spawn(f) -> JoinHandle<T>, .join() -> Result<T, String>. |
lang::macros |
shipped | Six built-in format macros (print/println/eprint/eprintln/format/panic). |
lang::doctest |
shipped | Fenced code in // doc comments runs under gos test. |
lang::cfg |
shipped | Conditional compilation attribute. |
lang::attribute |
shipped | Built-in attributes (#[cfg], #[test], #[bench], #[derive]). |
lang::const |
shipped | Compile-time constant binding. |
lang::static |
shipped | Module-level mutable or immutable static slot. |
lang::mut_ref_params |
shipped | &mut Vec<T> / &mut [T] parameters write through to the caller's storage on every tier. |
lang::unicode_identifiers |
shipped | Identifiers follow UAX #31 (matches Rust 2024). |
lang::move_keyword |
planned | move closure capture keyword - parses, lowers to the same Fn shape as a non-move closure (the runtime manages ownership). |
lang::async_await |
planned | async fn / .await - goroutines + channels cover the same shape today. |
lang::lifetimes |
planned | Explicit lifetime annotations - not needed under the current memory model; tracked in case a borrow-checker mode lands. |