luau/tests/conformance
vegorov-rbx 68cdcc4a3a
Sync to upstream/release/677 (#1872)
# What's Changed?

This week comes with many improvements to the new type solver and an important fix to the garbage collection to make it more robust in memory constrained scenarios.

# Runtime
- Garbage collection will no longer run out of memory itself, which could have happened when resizing arrays to a smaller size

# New Type Solver
- Type refinements on external types should now work and should no longer normalize the type into `never`
- Improved error reporting when `string.format` is used with a dynamic format string
- Updated type signature of `getmetatable` library function to use the corresponding type function and produce better type inference
- Restored a type mismatch error when converting function types with different number of generic parameters, like `() -> ()` into `<T>() -> ()`
- Types resulting from compound assignments have been simplified, reducing cyclic type introduction and inference failures
- Fixed function generic types leaking into tables during bidirectional type inference (Fixes #1808 and #1821 )
- Stability and performance improvements (Fixes #1860 )

# Internal Contributors

Co-authored-by: Andy Friesen <afriesen@roblox.com>
Co-authored-by: Ariel Weiss <aaronweiss@roblox.com>
Co-authored-by: Hunter Goldstein <hgoldstein@roblox.com>
Co-authored-by: Sora Kanosue <skanosue@roblox.com>
Co-authored-by: Varun Saini <vsaini@roblox.com>
Co-authored-by: Vighnesh Vijay <vvijay@roblox.com>
Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com>
2025-06-06 11:52:47 -07:00
..
apicalls.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
assert.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
attrib.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
basic.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
bitwise.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
buffers.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
calls.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
clear.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
closure.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
constructs.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
coroutine.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
coverage.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
cyield.luau Sync to upstream/release/671 (#1787) 2025-04-25 14:19:27 -07:00
datetime.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
debug.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
debugger.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
errors.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
events.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
exceptions.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
gc.luau Sync to upstream/release/677 (#1872) 2025-06-06 11:52:47 -07:00
ifelseexpr.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
interrupt.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
iter.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
literals.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
locals.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
math.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
move.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
native.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
native_types.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
native_userdata.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
ndebug_upvalues.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
pcall.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
pm.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
safeenv.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
sort.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
strconv.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
stringinterp.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
strings.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
tables.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
tmerror.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
tpack.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
types.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
userdata.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
utf8.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
vararg.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
vector.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00
vector_library.luau chore: update applicable .lua files to .luau (#1560) 2025-02-21 14:29:20 -08:00