Type System
Primitives, nullable and union types, arrays, maps, structs, tuples, generics, never, and the is/as operators.
Variables & Constants
local and local mut, constants, immutability rules, and deep freeze.
Functions
Named, local and anonymous functions, default parameters, varargs, overloads and multi-return.
Control Flow
if, while, repeat, numeric and generic for, do blocks, break N, continue, goto and labels.
Operators
Arithmetic, comparison, logical, bitwise, increment and decrement, nil coalescing and optional chaining.
Strings
String literal forms, escape sequences, interpolation and the configurable concat operator.
Tables
Table constructors, named-function fields, type annotations and the configurable index base.
Enums
Named constants with auto-numbering or explicit string and number values.
Classes & OOP
Constructors, inheritance, abstract, override, protected, static, getters and setters, operator overloading.
Interfaces
Type contracts, interface inheritance, default methods and implements.
Modules (Import / Export)
import and export, named, default, namespace and side-effect imports.
Pattern Matching
match statements and expressions, value, type and wildcard patterns, when guards and exhaustiveness.
Async / Await
Coroutine-based async functions and how await lowers to plain Lua.
Nilability & Optionals
Strict-nil mode, nil coalescing, the non-nil assertion, optional chaining and flow narrowing.
Declaration Files (.d.neb)
Writing .d.neb files to type existing Lua code and third-party libraries.