Things missing: * Attributes - All types: @noreflect, @deprecated - Struct: @packed, @aligned, @opaque - Enums: @distinct, @noreflect - Unions: @packed, @aligned, @opaque - Functions: @inline, @reflect, @noreturn, @section, @unused, @used, @interrupt, @naked, @convention() - Calls: @noinline, @inline - Variables, parameters: @unused - Constants, globals: @unused, @used, @section - Labels: @unused * Designated initializer - Array initializer - Array range initializer { [1..2] = 2 } * Initializers - Array initializers - Union initializers - Initializers with anonymous members * Asserts - assert, $assert - @unreachable * Types - Vararrays - Strings - Array - Slice - Values: size, alignment, name, qualifiedName - Functions: offsetof - Distinct types - Simd types? - Complex types? - Subtype casts - Bitstruct - Enumset - Typeid * Struct / union - Cast to union? - Structural typed anonymous structs and casts to them. * Expressions - Disallow x >= 0 and x < 0 on unsigned types unless in a macro. - Range check arrays on debug - Allow negating int if assigned to a larger type. E.g short x = 1; int y = -x; * Switch - String switch - Range case * Functions - Varargs - C ABI - Safe varargs * Pre-post conditions - Breakdown here * Error handling - Error unions - Catch/try - Function return channel * Enum - Values: min, max, array - Functions: fomOrdinal, ordinal, fromName, name, fromFullName, fullName, fromQualifiedName, qualifiedName, (), fromValue()