0.694
What's Changed?
This week we have improvements in new type solver inference, performance optimizations for the new type solver as well as fixes for optimization passes in native code generation.
- Fixed the order of errors returned by
Frontend::getCheckResultwithaccumulateNestedflag - Typechecker now uses
userdatainstead ofclassas the extern type name
New Type Solver
- When a string is passed to a function expecting an argument that might be a string singleton, bidirectional type inference will choose the lower bound (string literal) for that argument (Fixes #2010)
- Fixed incorrect definition of
vector.lerp(Fixes #2024) - Added error suppression in type path traversal. Without it, errors with
*error-type*were sometimes visible (Fixes #1840) - Fixed another case of combinatorial explosion in union type normalization which could have caused a hang
- Fixed a crash on out-of-bounds access during
for..instatement typechecking
Runtime
- Fixed an assertion in native code generation in a sequence of
nilandbooleanstores to a local - Fixed incorrect lowering in rare cases when LuauCodegenDirectCompare was enabled
Internal Contributors
Co-authored-by: Andy Friesen afriesen@roblox.com
Co-authored-by: Annie Tang annietang@roblox.com
Co-authored-by: Ariel Weiss aaronweiss@roblox.com
Co-authored-by: Hunter Goldstein hgoldstein@roblox.com
Co-authored-by: Ilya Rezvov irezvov@roblox.com
Co-authored-by: Vyacheslav Egorov vegorov@roblox.com
Full Changelog: 0.693...0.694