You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The key has expired.
What's changed?
Record the location of properties for table types (closes #802)
Implement stricter UTF-8 validations as per the RFC (luau-lang/rfcs#1)
Implement buffer as a new type in both the old and new solvers.
Changed errors produced by some buffer builtins to be a bit more generic to avoid platform-dependent error messages.
Fixed a bug where Unifier would copy some persistent types, tripping some internal assertions.
Type checking rules on relational operators is now a little bit more lax.
Improve dead code elimination for some if statements with complex always-false conditions
New type solver
Dataflow analysis now generates phi nodes on exit of branches.
Dataflow analysis avoids producing a new definition for locals or properties that are not owned by that loop.
If a function parameter has been constrained to never, report errors at all uses of that parameter within that function.
Switch to using the new Luau::Set to replace std::unordered_set to alleviate some poor allocation characteristics which was negatively affecting overall performance.
Subtyping can now report many failing reasons instead of just the first one that we happened to find during the test.
Subtyping now also report reasons for type pack mismatches.
When visiting if statements or expressions, the resulting context are the common terms in both branches.
Native codegen
Implement support for buffer builtins to its IR for x64 and A64.
Optimized table.insert by not inserting a table barrier if it is fastcalled with a constant.