mirror of
https://github.com/luau-lang/luau.git
synced 2024-12-13 21:40:43 +00:00
d141a5c48d
* Fixed exported types not being suggested in autocomplete * `T...` is now convertible to `...any` (Fixes https://github.com/Roblox/luau/issues/767) * Fixed issue with `T?` not being convertible to `T | T` or `T?` (sometimes when internal pointer identity is different) * Fixed potential crash in missing table key error suggestion to use a similar existing key * `lua_topointer` now returns a pointer for strings C++ API Changes: * `prepareModuleScope` callback has moved from TypeChecker to Frontend * For LSPs, AstQuery functions (and `isWithinComment`) can be used without full Frontend data A lot of changes in our two experimental components as well. In our work on the new type-solver, the following issues were fixed: * Fixed table union and intersection indexing * Correct custom type environments are now used * Fixed issue with values of `free & number` type not accepted in numeric operations And these are the changes in native code generation (JIT): * arm64 lowering is almost complete with support for 99% of IR commands and all fastcalls * Fixed x64 assembly encoding for extended byte registers * More external x64 calls are aware of register allocator * `math.min`/`math.max` with more than 2 arguments are now lowered to IR as well * Fixed correctness issues with `math` library calls with multiple results in variadic context and with x64 register conflicts * x64 register allocator learnt to restore values from VM memory instead of always using stack spills * x64 exception unwind information now supports multiple functions and fixes function start offset in Dwarf2 info |
||
---|---|---|
.. | ||
lapi.cpp | ||
lapi.h | ||
laux.cpp | ||
lbaselib.cpp | ||
lbitlib.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 |