mirror of
https://github.com/luau-lang/luau.git
synced 2024-12-13 21:40:43 +00:00
ae459a0197
# What's Changed * Add a compiler hint to improve Luau memory allocation inlining ### New Type Solver * Added a system for recommending explicit type annotations to users in cases where we've inferred complex generic types with type families. * Marked string library functions as `@checked` for use in new non-strict mode. * Fixed a bug with new non-strict mode where we would incorrectly report arity mismatches when missing optional arguments. * Implement an occurs check for unifications that would produce self-recursive types. * Fix bug where overload resolution would fail when applied to non-overloaded functions. * Fix bug that caused the subtyping to report an error whenever a generic was instantiated in an invariant context. * Fix crash caused by `SetPropConstraint` not blocking properly. ### Native Code Generation * Implement optimization to eliminate dead stores * Optimize vector ops for X64 when the source is computed (thanks, @zeux!) * Use more efficient lowering for UNM_* (thanks, @zeux!) --- ### Internal Contributors Co-authored-by: Aaron Weiss <aaronweiss@roblox.com> Co-authored-by: Alexander McCord <amccord@roblox.com> Co-authored-by: Andy Friesen <afriesen@roblox.com> Co-authored-by: David Cope <dcope@roblox.com> Co-authored-by: Lily Brown <lbrown@roblox.com> Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com> --------- Co-authored-by: Alexander McCord <amccord@roblox.com> Co-authored-by: Andy Friesen <afriesen@roblox.com> Co-authored-by: Vighnesh <vvijay@roblox.com> Co-authored-by: Aviral Goel <agoel@roblox.com> Co-authored-by: David Cope <dcope@roblox.com> Co-authored-by: Lily Brown <lbrown@roblox.com> Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com> |
||
---|---|---|
.. | ||
lapi.cpp | ||
lapi.h | ||
laux.cpp | ||
lbaselib.cpp | ||
lbitlib.cpp | ||
lbuffer.cpp | ||
lbuffer.h | ||
lbuflib.cpp | ||
lbuiltins.cpp | ||
lbuiltins.h | ||
lbytecode.h | ||
lcommon.h | ||
lcorolib.cpp | ||
ldblib.cpp | ||
ldebug.cpp | ||
ldebug.h | ||
ldo.cpp | ||
ldo.h | ||
lfunc.cpp | ||
lfunc.h | ||
lgc.cpp | ||
lgc.h | ||
lgcdebug.cpp | ||
linit.cpp | ||
lmathlib.cpp | ||
lmem.cpp | ||
lmem.h | ||
lnumprint.cpp | ||
lnumutils.h | ||
lobject.cpp | ||
lobject.h | ||
loslib.cpp | ||
lperf.cpp | ||
lstate.cpp | ||
lstate.h | ||
lstring.cpp | ||
lstring.h | ||
lstrlib.cpp | ||
ltable.cpp | ||
ltable.h | ||
ltablib.cpp | ||
ltm.cpp | ||
ltm.h | ||
ludata.cpp | ||
ludata.h | ||
lutf8lib.cpp | ||
lvm.h | ||
lvmexecute.cpp | ||
lvmload.cpp | ||
lvmutils.cpp |