Releases
grayscale-v0.5.3
Compare
Sorry, something went wrong.
No results found
0.5.3 (2026-08-28)
Bug Fixes
codegen: report the written type name from type_of (#2519 ) (5974e27 )
codegen: resolve a written struct name to its declaration (#2496 ) (5f3cbfd )
codegen: validate the value of a cast to an enum (#2531 ) (d618efe )
imports: reject importing the same module twice in one file (#2507 ) (2b07b2d )
parser: accept container type spellings in size_of() and cast() (#2532 ) (0f1e913 )
parser: parse a struct literal whose type name starts lowercase (#2500 ) (d214532 )
typechecker: answer type-argument positions from the declaration (#2538 ) (ff2a0c8 )
typechecker: bind the receiver for an imported struct type (#2492 ) (b77c734 )
typechecker: enforce private across module boundaries for structs, enums, and struct functions (#2505 ) (1afb08e )
typechecker: enforce private on bare names from using modules (#2520 ) (918edcc )
typechecker: land plain assignment to a module-level mut variable (#2508 ) (37644f3 )
typechecker: let a local shadow a module of the same name (#2504 ) (4e5d15e )
typechecker: let a struct alias be used as a constructor (#2518 ) (68e4b11 )
typechecker: mark addr() on a module-level constant as a const source (#2515 ) (6d88e10 )
typechecker: reject a builtin function name as an alias name (#2530 ) (6dd4fbf )
typechecker: reject a file-scope constant forward reference (#2516 ) (8ca6f1d )
typechecker: reject a mismatched func ref in a struct literal (#2543 ) (a147c78 )
typechecker: reject a public alias of a private type (#2533 ) (b86ef88 )
typechecker: reject a reserved type name as an alias name (#2522 ) (d938222 )
typechecker: reject a type name used as a value wherever it appears (#2535 ) (9711bb4 )
typechecker: report modules whose mangled symbol names collide (#2499 ) (9c10989 )
typechecker: resolve a struct alias used as a call qualifier (#2526 ) (71762dd )
typechecker: resolve a struct field's type through its alias (#2542 ) (e39b5cd )
typechecker: resolve alias targets in the declaring module (#2517 ) (0f9e25f )
typechecker: resolve aliases in the fields() type-name guard (#2525 ) (54a417a )
typechecker: resolve and validate the size_of type argument (#2528 ) (ac5d9f9 )
typechecker: resolve type aliases in the cast target (#2523 ) (0b8f498 )
typechecker: resolve types in a module whose name has an underscore (#2514 ) (ed4dab9 )
typechecker: return a pointer from mem.alloc (#2544 ) (c67692a )
typechecker: skip value resolution for <?> type arguments (#2539 ) (2b9a9a5 )
typechecker: validate that a cast target names a type (#2534 ) (2264e4a )
Performance Improvements
main: parse arguments into a CompilerOptions struct (b09cbb4 )
parser: extract the import resolver out of main() (4df828e )
runtime: remove unused GRAY_MAX_INLINE_ELEM_SIZE (5384391 )
typechecker: rename operator_to_string to operator_display_name (03e84a3 )
util: remove unused diagnostic_warning_help (ff65f8a )
You can’t perform that action at this time.