luau/Ast/include/Luau
Vighnesh-V a2303a6ae6
Sync to upstream/release/670 (#1779)
# General 
This week has been focused primarily on bugfixes, with a ton of
usability improvements to the new solver, fragment autocomplete, and the
concrete syntax tree project.

## Runtime
- Fix an assertion caused by failing to allocate native code pages.
- Expose a `lua_pushrequire` function, which performs the same
initialization steps as `luaopen_require` but does not register require
globally. This lets users create specialized, custom `requires`.

# New Solver
- Fix a bug in simplification of types caused by combinatorial explosion
of intersection and union types.
- Fix a memory leak in fragment autocomplete
- Improve the isolation of modules in fragment autocomplete
- Throw errors when users define a type function with the name `typeof`
- Continue to narrow intersection types which might be `never`.
- Major rework of generalization continues - we are blazing a new path
with eager + non-reentrant generalization and actively working to make
these more performant and less error prone.
- Improve the ability of `and/or` type functions to reduce, even when
their arguments are generic.
- Report arity mismatches for undersaturated calls with unknown
parameters

# New Non-Strict
- Extends the new non-strict mode to report unknown symbols in types 

# Old Solver
- Fix a crash caused by excessive stack usage during typechecking

# Misc
- Improvements to Concrete Syntax Tree location tracking for string
table props.

---
Co-authored-by: Andy Friesen <afriesen@roblox.com>
Co-authored-by: Ariel Weiss <aaronweiss@roblox.com>
Co-authored-by: Aviral Goel <agoel@roblox.com>
Co-authored-by: Hunter Goldstein <hgoldstein@roblox.com>
Co-authored-by: Sora Kanosue <skanosue@roblox.com>
Co-authored-by: Talha Pathan <tpathan@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-04-18 13:44:39 -07:00
..
Allocator.h Sync to upstream/release/662 (#1681) 2025-02-21 10:24:12 -08:00
Ast.h Sync to upstream/release/670 (#1779) 2025-04-18 13:44:39 -07:00
Confusables.h Sync to upstream/release/501 (#20) 2021-11-01 14:52:34 -07:00
Cst.h Sync to upstream/release/670 (#1779) 2025-04-18 13:44:39 -07:00
Lexer.h Lexer: add offset getter (#1688) 2025-02-24 16:25:57 -08:00
Location.h Sync to upstream/release/656 (#1612) 2025-01-10 11:34:39 -08:00
ParseOptions.h Sync to upstream/release/660 (#1643) 2025-02-07 16:17:11 -08:00
Parser.h Sync to upstream/release/667 (#1754) 2025-03-28 16:15:46 -07:00
ParseResult.h Sync to upstream/release/663 (#1699) 2025-02-28 14:42:30 -08:00
StringUtils.h Sync to upstream/release/549 (#707) 2022-10-14 12:48:41 -07:00
TimeTrace.h Sync to upstream/release/645 (#1440) 2024-09-27 11:58:21 -07:00