luau/Compiler/src
Varun Saini 5f42e63a73
Sync to upstream/release/666 (#1747)
Another week, another release. Happy spring! 🌷 

## New Type Solver

- Add typechecking and autocomplete support for user-defined type
functions!
- Improve the display of type paths, making type mismatch errors far
more human-readable.
- Enhance various aspects of the `index` type function: support function
type metamethods, fix crashes involving cyclic metatables, and forward
`any` types through the type function.
- Fix incorrect subtyping results involving the `buffer` type.
- Fix crashes related to typechecking anonymous functions in nonstrict
mode.

## AST

- Retain source information for type packs, functions, and type
functions.
- Introduce `AstTypeOptional` to differentiate `T?` from `T | nil` in
the AST.
- Prevent the transpiler from advancing before tokens when the AST has
errors.

## Autocomplete

- Introduce demand-based cloning and better module isolation for
fragment autocomplete, leading to a substantial speedup in performance.
- Guard against recursive unions in `autocompleteProps`.

## Miscellaneous

- #1720 (thank you!)

## 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: Talha Pathan <tpathan@roblox.com>
Co-authored-by: Vighnesh Vijay <vvijay@roblox.com>
Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com>
2025-03-21 14:43:00 -07:00
..
BuiltinFolding.cpp Sync to upstream/release/663 (#1699) 2025-02-28 14:42:30 -08:00
BuiltinFolding.h Sync to upstream/release/589 (#1000) 2023-08-04 12:18:54 -07:00
Builtins.cpp Sync to upstream/release/663 (#1699) 2025-02-28 14:42:30 -08:00
Builtins.h Sync to upstream/release/655 (#1563) 2024-12-13 13:02:30 -08:00
BytecodeBuilder.cpp Sync to upstream/release/656 (#1612) 2025-01-10 11:34:39 -08:00
Compiler.cpp Sync to upstream/release/665 (#1732) 2025-03-14 13:11:24 -07:00
ConstantFolding.cpp Sync to upstream/release/659 (#1637) 2025-01-31 18:58:36 -08:00
ConstantFolding.h Sync to upstream/release/655 (#1563) 2024-12-13 13:02:30 -08:00
CostModel.cpp Sync to upstream/release/656 (#1612) 2025-01-10 11:34:39 -08:00
CostModel.h Sync to upstream/release/536 (#592) 2022-07-14 15:52:26 -07:00
lcode.cpp Sync to upstream/release/655 (#1563) 2024-12-13 13:02:30 -08:00
TableShape.cpp Sync to upstream/release/513 (#340) 2022-02-04 08:45:57 -08:00
TableShape.h Sync to upstream/release/510 (#313) 2022-01-14 08:20:09 -08:00
Types.cpp Sync to upstream/release/666 (#1747) 2025-03-21 14:43:00 -07:00
Types.h Sync to upstream/release/655 (#1563) 2024-12-13 13:02:30 -08:00
ValueTracking.cpp Use const char* const* over const char** (#1005) 2023-08-07 13:45:04 -07:00
ValueTracking.h Use const char* const* over const char** (#1005) 2023-08-07 13:45:04 -07:00