0.650
What's Changed
- New
vector
library! See https://rfcs.luau.org/vector-library.html for details - Replace the use of non-portable
strnlen
withmemchr
.strnlen
is not part of any C or C++ standard. - Introduce
lua_newuserdatataggedwithmetatable
for faster tagged userdata creation of userdata with metatables registered withlua_setuserdatametatable
Old Solver
- It used to be the case that a module's result type would unconditionally be inferred to be
any
if it imported any module that participates in any import cycle. This is now fixed.
New Solver
- Improve inference of
table.freeze
: We now infer read-only properties on tables after they have been frozen. - We now correctly flag cases where
string.format
is called with 0 arguments. - Fix a bug in user-defined type functions where table properties could be lost if the table had a metatable
- Reset the random number seed for each evaluation of a type function
- We now retry subtyping arguments if it failed due to hidden variadics.
Internal Contributors
Co-authored-by: Aaron Weiss [email protected]
Co-authored-by: Andy Friesen [email protected]
Co-authored-by: Aviral Goel [email protected]
Co-authored-by: David Cope [email protected]
Co-authored-by: Hunter Goldstein [email protected]
Co-authored-by: Vyacheslav Egorov [email protected]
Full Changelog: 0.649...0.650