luau/Ast/include/Luau
Vighnesh-V 7d4033071a
Sync to upstream/release/630 (#1295)
### What's new

* A bug in exception handling in GCC(11/12/13) on MacOS prevents our
test suite from running.
* Parser now supports leading `|` or `&` when declaring `Union` and
`Intersection` types (#1286)
* We now support parsing of attributes on functions as described in the
[rfc](https://github.com/luau-lang/rfcs/pull/30)
* With this change, expressions such as `local x = @native function(x)
    return x+1 end` and `f(@native function(x) return x+1 end)` are now
    valid.
* Added support for `@native` attribute - we can now force native
compilation of individual functions if the `@native` attribute is
specified before the `function` keyword (works for lambdas too).

### New Solver

* Many fixes in the new solver for crashes and instability
* Refinements now use simplification and not normalization in a specific
case of two tables
* Assume that compound assignments do not change the type of the
left-side operand
* Fix error that prevented Class Methods from being overloaded

### VM

* Updated description of Garbage Collector invariant

---
### 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: Aviral Goel <agoel@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: Alexander McCord <amccord@roblox.com>
Co-authored-by: Andy Friesen <afriesen@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-06-14 13:21:20 -07:00
..
Ast.h Sync to upstream/release/630 (#1295) 2024-06-14 13:21:20 -07:00
Confusables.h Sync to upstream/release/501 (#20) 2021-11-01 14:52:34 -07:00
Lexer.h Sync to upstream/release/629 (#1290) 2024-06-07 10:51:12 -07:00
Location.h Sync to upstream/release/602 (#1089) 2023-11-03 16:45:04 -07:00
ParseOptions.h Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
Parser.h Sync to upstream/release/630 (#1295) 2024-06-14 13:21:20 -07:00
ParseResult.h Sync to upstream/release/551 (#727) 2022-10-28 03:37:29 -07:00
StringUtils.h Sync to upstream/release/549 (#707) 2022-10-14 12:48:41 -07:00
TimeTrace.h Sync to upstream/release/583 (#974) 2023-07-07 13:10:48 -07:00