luau/tools
aaron ff502f0943
Sync to upstream/release/607 (#1131)
# What's changed?

* Fix up the `std::iterator_traits` definitions for some Luau data
structures.
* Replace some of the usages of `std::unordered_set` and
`std::unordered_map` with Luau-provided data structures to increase
performance and reduce overall number of heap allocations.
* Update some of the documentation links in comments throughout the
codebase to correctly point to the moved repository.
* Expanded JSON encoder for AST to support singleton types.
* Fixed a bug in `luau-analyze` where exceptions in the last module
being checked during multithreaded analysis would not be rethrown.

### New type solver

* Introduce a `refine` type family to handle deferred refinements during
type inference, replacing the old `RefineConstraint`.
* Continued work on the implementation of type states, fixing some known
bugs/blockers.
* Added support for variadic functions in new non-strict mode, enabling
broader support for builtins and the Roblox API.

### 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: 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>
2023-12-15 13:29:06 -08:00
..
fuzz Sync to upstream/release/605 (#1118) 2023-12-01 23:46:57 -08:00
natvis Sync to upstream/release/600 (#1076) 2023-10-20 18:10:30 -07:00
codegenstat.py Sync to upstream/release/573 (#903) 2023-04-21 15:14:26 -07:00
faillist.txt Sync to upstream/release/607 (#1131) 2023-12-15 13:29:06 -08: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/603 (#1097) 2023-11-10 13:10:07 -08: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/559 (#804) 2023-01-13 14:10:01 -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
svg.py Sync to upstream/release/514 (#357) 2022-02-11 11:02:09 -08:00
test_dcr.py Sync to upstream/release/604 (#1106) 2023-11-17 10:46:18 -08:00
tracegraph.py Sync to upstream/release/559 (#804) 2023-01-13 14:10:01 -08:00