luau/tools
Alexander McCord daf79328fc
Sync to upstream/release/628 (#1278)
### What's new?

* Remove a case of unsound `table.move` optimization
* Add Luau stack slot reservations that were missing in REPL (fixes
#1273)

### New Type Solver

* Assignments have been completely reworked to fix a case of cyclic
constraint dependency
* When indexing, if the fresh type's upper bound already contains a
compatible indexer, do not add another upper bound
* Distribute type arguments over all type families sans `eq`, `keyof`,
`rawkeyof`, and other internal type families
* Fix a case where `buffers` component weren't read in two places (fixes
#1267)
* Fix a case where things that constitutes a strong ref were slightly
incorrect
* Fix a case where constraint dependencies weren't setup wrt `for ...
in` statement

### Native Codegen

* Fix an optimization that splits TValue store only when its value and
its tag are compatible
* Implement a system to plug additional type information for custom host
userdata types

---

### 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: Vighnesh Vijay <vvijay@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-05-31 12:18:18 -07:00
..
fuzz Sync to upstream/release/605 (#1118) 2023-12-01 23:46:57 -08:00
natvis Sync to upstream/release/617 (#1204) 2024-03-15 16:37:39 -07:00
codegenstat.py Sync to upstream/release/573 (#903) 2023-04-21 15:14:26 -07:00
codesizeprediction.py Sync to upstream/release/608 (#1145) 2024-01-12 14:25:27 -08:00
faillist.txt Sync to upstream/release/628 (#1278) 2024-05-31 12:18:18 -07:00
flag-bisect.py Sync to upstream/release/563 (#833) 2023-02-10 11:40:38 -08:00
gdb_printers.py Sync to upstream/release/519 (#422) 2022-03-17 17:46:04 -07:00
heapgraph.py Sync to upstream/release/559 (#804) 2023-01-13 14:10:01 -08:00
heapstat.py Sync to upstream/release/559 (#804) 2023-01-13 14:10:01 -08:00
heuristicstat.py Sync to upstream/release/604 (#1106) 2023-11-17 10:46:18 -08:00
lldb_formatters.lldb Sync to upstream/release/600 (#1076) 2023-10-20 18:10:30 -07:00
lldb_formatters.py Sync to upstream/release/623 (#1236) 2024-04-25 15:26:09 -07:00
numprint.py Sync to upstream/release/559 (#804) 2023-01-13 14:10:01 -08:00
patchtests.py Sync to upstream/release/559 (#804) 2023-01-13 14:10:01 -08:00
perfgraph.py Sync to upstream/release/608 (#1145) 2024-01-12 14:25:27 -08:00
perfstat.py Sync to upstream/release/559 (#804) 2023-01-13 14:10:01 -08:00
stack-usage-reporter.py Sync to upstream/release/559 (#804) 2023-01-13 14:10:01 -08:00
stackdbg.py Sync to upstream/release/624 (#1245) 2024-05-03 13:17:51 -07:00
svg.py Sync to upstream/release/514 (#357) 2022-02-11 11:02:09 -08:00
test_dcr.py Sync to upstream/release/617 (#1204) 2024-03-15 16:37:39 -07:00
tracegraph.py Sync to upstream/release/559 (#804) 2023-01-13 14:10:01 -08:00