Built-in types and operations
These operations are available through the prelude or compiler-known type and method names. Their contracts complement the language rules for types, ownership, and iteration.
- Numbers: parsing, checked integer conversion, limits and constants, powers, float functions, and scalar formatting.
- Quantities: numeric values with checked dimensions, coherent-value access and unit conversion.
- Formatting: representations and printed values.
- Tuples: fixed products and component access.
- Boxes: explicit heap ownership and content access.
- Shared owners: one value with several counted owners.
- Text: Unicode values and character lookup.
- Byte literals: immutable
bytesvalues, byte lookup, and iteration; distinct from ownedstd.bytes.Bytesbuffers. - Text search, building, and splitting.
- Collections: common behavior, followed by construction and copying, lists, dictionaries, and sets.
- Ranges: allocation-free integer sequences.
An operation’s allocation guarantee excludes constructing its arguments and
running user cleanup. Result and Option wrappers add no allocation. Operations
that observe inputs leave them available; owned arguments follow ordinary move
or copy rules. References are accepted where an operation observes a value,
unless its contract says otherwise.