luau/tests/conformance
Alexander McCord 67ce75e870
Sync to upstream/release/611 (#1160)
# What's changed?

### Native Code Generation

* Fixed an UAF relating to reusing a hash key after a weak table has
undergone some GC.
* Fixed a bounds check on arm64 to allow access to the last byte of a
buffer.

### New Type Solver

* Type states now preserves error-suppression, i.e. `local x: any = 5`
and `x.foo` does not error.
* Made error-suppression logic in subtyping more accurate.
* Subtyping now knows how to reduce type families.
* Fixed function call overload resolution so that the return type
resolves to the correct overload.
* Fixed a case where we attempted to reduce irreducible type families a
few too many times, leading to duplicate errors.
* Type checker needs to type check annotations in function signatures to
be able to report errors relating to those annotations.
* Fixed an UAF from a pointer to stack-allocated data in Subtyping's
`explainReasonings`.

### Nonstrict Type Checker

* Fixed a crash when calling a checked function of the form `math.abs`
with an incorrect argument type.
* Fixed a crash when calling a checked function with a number of
arguments that did not exactly match the number of parameters required.

---

### Internal Contributors

Co-authored-by: Aaron Weiss <aaronweiss@roblox.com>
Co-authored-by: Andy Friesen <afriesen@roblox.com>
Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com>

---------

Co-authored-by: Aaron Weiss <aaronweiss@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>
2024-02-02 13:32:42 -08:00
..
apicalls.lua Sync to upstream/release/571 (#895) 2023-04-07 14:01:29 -07:00
assert.lua Sync to upstream/release/501 (#20) 2021-11-01 14:52:34 -07:00
attrib.lua Sync to upstream/release/501 (#20) 2021-11-01 14:52:34 -07:00
basic.lua Sync to upstream/release/594 (#1036) 2023-09-07 17:13:49 -07:00
bitwise.lua Sync to upstream/release/602 (#1089) 2023-11-03 16:45:04 -07:00
buffers.lua Sync to upstream/release/604 (#1106) 2023-11-17 10:46:18 -08:00
calls.lua Sync to upstream/release/550 (#723) 2022-10-21 10:54:01 -07:00
clear.lua Sync to upstream/release/501 (#20) 2021-11-01 14:52:34 -07:00
closure.lua Sync to upstream/release/600 (#1076) 2023-10-20 18:10:30 -07:00
constructs.lua Sync to upstream/release/598 (#1063) 2023-10-06 12:02:32 -07:00
coroutine.lua Sync to upstream/release/514 (#372) 2022-02-17 17:18:01 -08:00
coverage.lua Sync to upstream/release/514 (#372) 2022-02-17 17:18:01 -08:00
datetime.lua Sync to upstream/release/598 (#1063) 2023-10-06 12:02:32 -07:00
debug.lua Sync to upstream/release/514 (#372) 2022-02-17 17:18:01 -08:00
debugger.lua Sync to upstream/release/576 (#928) 2023-05-12 10:50:47 -07:00
errors.lua Sync to upstream/release/550 (#723) 2022-10-21 10:54:01 -07:00
events.lua Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
exceptions.lua Sync to upstream/release/501 (#20) 2021-11-01 14:52:34 -07:00
gc.lua Sync to upstream/release/542 (#649) 2022-08-25 14:53:50 -07:00
ifelseexpr.lua Sync to upstream/release/501 (#20) 2021-11-01 14:52:34 -07:00
interrupt.lua Sync to upstream/release/610 (#1154) 2024-01-26 19:20:56 -08:00
iter.lua Sync to upstream/release/550 (#723) 2022-10-21 10:54:01 -07:00
literals.lua Sync to upstream/release/501 (#20) 2021-11-01 14:52:34 -07:00
locals.lua Spelling (#119) 2021-11-04 09:50:46 -05:00
math.lua Sync to upstream/release/602 (#1089) 2023-11-03 16:45:04 -07:00
move.lua Sync to upstream/release/550 (#723) 2022-10-21 10:54:01 -07:00
native_types.lua Sync to upstream/release/601 (#1084) 2023-10-27 14:18:41 -07:00
native.lua Sync to upstream/release/611 (#1160) 2024-02-02 13:32:42 -08:00
ndebug_upvalues.lua Fix lua_*upvalue() when upvalue names aren't in debug info (#787) 2023-01-18 06:00:13 -08:00
pcall.lua Sync to upstream/release/600 (#1076) 2023-10-20 18:10:30 -07:00
pm.lua Spelling (#119) 2021-11-04 09:50:46 -05:00
safeenv.lua Sync to upstream/release/549 (#707) 2022-10-14 12:48:41 -07:00
sort.lua Sync to upstream/release/571 (#895) 2023-04-07 14:01:29 -07:00
strconv.lua Sync to upstream/release/608 (#1145) 2024-01-12 14:25:27 -08:00
stringinterp.lua String interpolation (#614) 2022-08-24 12:01:00 -07:00
strings.lua Sync to upstream/release/588 (#992) 2023-07-28 08:13:53 -07:00
tables.lua Sync to upstream/release/572 (#899) 2023-04-14 11:06:22 -07:00
tmerror.lua Sync to upstream/release/591 (#1012) 2023-08-18 11:15:41 -07:00
tpack.lua Sync to upstream/release/550 (#723) 2022-10-21 10:54:01 -07:00
types.lua Sync to upstream/release/544 (#669) 2022-09-08 15:14:25 -07:00
userdata.lua Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
utf8.lua Sync to upstream/release/603 (#1097) 2023-11-10 13:10:07 -08:00
vararg.lua Sync to upstream/release/514 (#357) 2022-02-11 11:02:09 -08:00
vector.lua Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00