What's Changed
- Convert Luau heap dumps to Chrome heap snapshots by @jkelaty-rbx in #1554
New Solver
- Type functions should be able to signal whether or not irreducibility is due to an error
- Do not generate extra expansion constraint for uninvoked user-defined type functions
- Print in a user-defined type function reports as an error instead of logging to stdout
- Many e-graphs bugfixes and performance improvements
- Many general bugfixes and improvements to the new solver as a whole
- Fixed issue with used-defined type functions not being able to call each other
- Infer types of globals under new type solver
Fragment Autocomplete
- Miscellaneous fixes to make interop with the old solver better
Runtime
- Support disabling specific built-in functions from being fast-called or constant-evaluated (Closes #1538)
- New compiler option
disabledBuiltins
accepts a list of library function names like "tonumber" or "math.cos"
- New compiler option
- Added constant folding for vector arithmetic
- Added constant propagation and type inference for vector globals (Fixes #1511)
- New compiler option
librariesWithKnownMembers
accepts a list of libraries for members of which a request for constant value and/or type will be made libraryMemberTypeCb
callback is called to get the type of a global, return one of theLuauBytecodeType
values. 'boolean', 'number', 'string' and 'vector' type are supported.libraryMemberConstantCb
callback is called to setup the constant value of a global. To set a value, C APIluau_set_compile_constant_*
or C++ APIsetCompileConstant*
functions should be used.
- New compiler option
New Contributors
- @jkelaty-rbx made their first contribution in #1554
Full Changelog: 0.654...0.655
What's changed
Co-authored-by: Aaron Weiss [email protected]
Co-authored-by: Andy Friesen [email protected]
Co-authored-by: Aviral Goel [email protected]
Co-authored-by: Daniel Angel [email protected]
Co-authored-by: Jonathan Kelaty [email protected]
Co-authored-by: Hunter Goldstein [email protected]
Co-authored-by: Varun Saini [email protected]
Co-authored-by: Vighnesh Vijay [email protected]
Co-authored-by: Vyacheslav Egorov [email protected]