luau/Compiler/src
Lily Brown 24fdac4c05
Sync to upstream/release/599 (#1069)
## What's Changed

- Improve POSIX compliance in `CLI/FileUtils.cpp` by @SamuraiCrow #1064
- `AstStat*::hasEnd` is deprecated; use `AstStatBlock::hasEnd` instead
- Added a lint for common misuses of the `#` operator
- Luau now issues deprecated diagnostics for some uses of `getfenv` and
`setfenv`
- Fixed a case where we included a trailing space in some error
stringifications

### Compiler

- Do not do further analysis in O2 on self functions
- Improve detection of invalid repeat..until expressions vs continue

### New Type Solver

- We now cache subtype test results to improve performance
- Improved operator inference mechanics (aka type families)
- Further work towards type states
- Work towards [new non-strict
mode](https://github.com/Roblox/luau/blob/master/rfcs/new-nonstrict.md)
continues

### Native Codegen

- Instruction last use locations should follow the order in which blocks
are lowered
- Add a bonus assertion to IrLoweringA64::tempAddr

---

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com>
Co-authored-by: Andy Friesen <afriesen@roblox.com>
Co-authored-by: Aaron Weiss <aaronweiss@roblox.com>
Co-authored-by: Alexander McCord <amccord@roblox.com>
Co-authored-by: Vighnesh Vijay <vvijay@roblox.com>
2023-10-13 13:20:12 -07:00
..
BuiltinFolding.cpp Sync to upstream/release/589 (#1000) 2023-08-04 12:18:54 -07:00
BuiltinFolding.h Sync to upstream/release/589 (#1000) 2023-08-04 12:18:54 -07:00
Builtins.cpp Sync to upstream/release/592 (#1018) 2023-08-25 10:23:55 -07:00
Builtins.h Sync to upstream/release/588 (#992) 2023-07-28 08:13:53 -07:00
BytecodeBuilder.cpp Sync to upstream/release/598 (#1063) 2023-10-06 12:02:32 -07:00
Compiler.cpp Sync to upstream/release/599 (#1069) 2023-10-13 13:20:12 -07:00
ConstantFolding.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
ConstantFolding.h Sync to upstream/release/589 (#1000) 2023-08-04 12:18:54 -07:00
CostModel.cpp Sync to upstream/release/591 (#1012) 2023-08-18 11:15:41 -07:00
CostModel.h Sync to upstream/release/536 (#592) 2022-07-14 15:52:26 -07:00
lcode.cpp Sync to upstream/release/505 (#216) 2021-11-19 08:10:07 -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/590 (#1008) 2023-08-11 07:42:37 -07:00
Types.h Sync to upstream/release/590 (#1008) 2023-08-11 07:42:37 -07: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