0.692
Another week, another release!
Analysis/Autocomplete
- Improve recursive type lookups by using scoped tracking of processed types.
- Enforce recursion limits in subtyping on type packs, not just on types.
- Simplify type checking for intersections between tables and discriminants containing read-only table properties.
- Allow fields provided by
__indexto satisfy subtyping relationships. - Improve the ability for the type checker to do proper generic substitution in
for ... inloops. - Fix a fragment autocomplete bug that caused fragments to be selected incorrectly in
for ... inloops. - Fix a crash caused by
typeofcontaining an unterminated function definition:typeof(function()). - Fix a flagging issue that may have been causing stack overflows in the previous release.
Runtime
- Support constant folding for interpolated strings.
- Fix a bug caused by the empty string being the result of constant folding.
- Add helper macros in Bytecode.h to help access data in Luau auxiliary instruction bits.
- Add support for branchless
==/~=comparisons in CodeGen (in certain cases).
Full Changelog: 0.691...0.692
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: Sora Kanosue skanosue@roblox.com
Co-authored-by: Vighnesh Vijay vvijay@roblox.com
Co-authored-by: Vyacheslav Egorov vegorov@roblox.com