luau/Ast/src
ayoungbloodrbx 66202dc4ac
Sync to upstream/release/684 (#1930)
## General
- Support AstStatDeclareGlobal output as a source string (via
@karl-police in #1889)
- Luau heap dump correctly reports the size of a string, now including
overhead for the string type
- Prevent yields from Luau `xpcall` error handling function.
 
## Analysis
- Avoid exponential blowup when normalizing union of normalized free
variables.
- Fix type pack-related bugs that caused infinite recursion when:
  - A generic type pack was bound to itself during subtyping.
- In type pack flattening, when that same generic type pack was now
being bound another generic type pack which contained it.
- Properly simplify `any & (*error-type* | string)` to `*error-type* |
*error-type* | string` instead of hanging due to creating a huge union
type.

---

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: Vyacheslav Egorov <vegorov@roblox.com>

---------

Co-authored-by: Hunter Goldstein <hgoldstein@roblox.com>
Co-authored-by: Varun Saini <61795485+vrn-sn@users.noreply.github.com>
Co-authored-by: Menarul Alam <malam@roblox.com>
Co-authored-by: Aviral Goel <agoel@roblox.com>
Co-authored-by: Vighnesh <vvijay@roblox.com>
Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com>
Co-authored-by: Ariel Weiss <aaronweiss@roblox.com>
Co-authored-by: Andy Friesen <afriesen@roblox.com>
2025-07-25 15:33:42 -07:00
..
Allocator.cpp Sync to upstream/release/656 (#1612) 2025-01-10 11:34:39 -08:00
Ast.cpp Sync to upstream/release/679 (#1884) 2025-06-20 15:55:42 -07:00
Confusables.cpp Sync to upstream/release/637 (#1354) 2024-08-02 07:30:04 -07:00
Cst.cpp Sync to upstream/release/676 (#1856) 2025-05-30 11:17:49 -07:00
Lexer.cpp Sync to upstream/release/666 (#1747) 2025-03-21 14:43:00 -07:00
Location.cpp Sync to upstream/release/656 (#1612) 2025-01-10 11:34:39 -08:00
Parser.cpp Sync to upstream/release/684 (#1930) 2025-07-25 15:33:42 -07:00
StringUtils.cpp Sync to upstream/release/637 (#1354) 2024-08-02 07:30:04 -07:00
TimeTrace.cpp Sync to upstream/release/650 (#1502) 2024-11-01 12:06:07 -07:00