luau/Analysis/src
Andy Friesen 31a017c5c7
Sync to upstream/release/595 (#1044)
* Rerun clang-format on the code
* Fix the variance on indexer result subtyping. This fixes some issues
with inconsistent error reporting.
* Fix a bug in the normalization logic for intersections of strings

New Type Solver

* New overload selection logic
* Subtype tests now correctly treat a generic as its upper bound within
that generic's scope
* Semantic subtyping for negation types
* Semantic subtyping between strings and compatible table types like
`{lower: (string) -> string}`
* Further work toward finalizing our new subtype test
* Correctly generalize module-scope symbols

Native Codegen

* Lowering statistics for assembly
* Make executable allocation size/limit configurable without a rebuild.
Use `FInt::LuauCodeGenBlockSize` and `FInt::LuauCodeGenMaxTotalSize`.

---------

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com>
Co-authored-by: Lily Brown <lbrown@roblox.com>
2023-09-15 10:26:59 -07:00
..
Anyification.cpp Sync to upstream/release/582 (#960) 2023-06-23 23:19:39 -07:00
ApplyTypeFunction.cpp Sync to upstream/release/582 (#960) 2023-06-23 23:19:39 -07:00
AstJsonEncoder.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
AstQuery.cpp Sync to upstream/release/592 (#1018) 2023-08-25 10:23:55 -07:00
Autocomplete.cpp Sync to upstream/release/595 (#1044) 2023-09-15 10:26:59 -07:00
BuiltinDefinitions.cpp Sync to upstream/release/594 (#1036) 2023-09-07 17:13:49 -07:00
Clone.cpp Sync to upstream/release/595 (#1044) 2023-09-15 10:26:59 -07:00
Constraint.cpp Sync to upstream/release/543 (#657) 2022-09-01 16:14:03 -07:00
ConstraintGraphBuilder.cpp Sync to upstream/release/595 (#1044) 2023-09-15 10:26:59 -07:00
ConstraintSolver.cpp Sync to upstream/release/595 (#1044) 2023-09-15 10:26:59 -07:00
DataFlowGraph.cpp Sync to upstream/release/566 (#853) 2023-03-03 12:21:14 -08:00
DcrLogger.cpp Sync to upstream/release/565 (#845) 2023-02-24 13:49:38 -08:00
Def.cpp Sync to upstream/release/566 (#853) 2023-03-03 12:21:14 -08:00
Differ.cpp Sync to upstream/release/595 (#1044) 2023-09-15 10:26:59 -07:00
EmbeddedBuiltinDefinitions.cpp Sync to upstream/release/591 (#1012) 2023-08-18 11:15:41 -07:00
Error.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
Frontend.cpp Sync to upstream/release/595 (#1044) 2023-09-15 10:26:59 -07:00
GlobalTypes.cpp Sync to upstream/release/595 (#1044) 2023-09-15 10:26:59 -07:00
Instantiation.cpp Sync to upstream/release/595 (#1044) 2023-09-15 10:26:59 -07:00
IostreamHelpers.cpp Sync to upstream/release/578 (#939) 2023-05-25 14:36:34 -07:00
JsonEmitter.cpp Sync to upstream/release/543 (#657) 2022-09-01 16:14:03 -07:00
Linter.cpp Sync to upstream/release/595 (#1044) 2023-09-15 10:26:59 -07:00
LValue.cpp Sync to upstream/release/527 (#491) 2022-05-19 17:02:24 -07:00
Module.cpp Sync to upstream/release/590 (#1008) 2023-08-11 07:42:37 -07:00
Normalize.cpp Sync to upstream/release/595 (#1044) 2023-09-15 10:26:59 -07:00
Quantify.cpp Sync to upstream/release/588 (#992) 2023-07-28 08:13:53 -07:00
Refinement.cpp Sync to upstream/release/566 (#853) 2023-03-03 12:21:14 -08:00
RequireTracer.cpp Sync to upstream/release/532 (#545) 2022-06-16 18:05:14 -07:00
Scope.cpp Sync to upstream/release/588 (#992) 2023-07-28 08:13:53 -07:00
Simplify.cpp Sync to upstream/release/591 (#1012) 2023-08-18 11:15:41 -07:00
Substitution.cpp Sync to upstream/release/590 (#1008) 2023-08-11 07:42:37 -07:00
Subtyping.cpp Sync to upstream/release/595 (#1044) 2023-09-15 10:26:59 -07:00
Symbol.cpp Sync to upstream/release/588 (#992) 2023-07-28 08:13:53 -07:00
ToDot.cpp Sync to upstream/release/595 (#1044) 2023-09-15 10:26:59 -07:00
TopoSortStatements.cpp Sync to upstream/release/555 (#768) 2022-12-02 10:09:59 -08:00
ToString.cpp Sync to upstream/release/589 (#1000) 2023-08-04 12:18:54 -07:00
Transpiler.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
TxnLog.cpp Sync to upstream/release/588 (#992) 2023-07-28 08:13:53 -07:00
Type.cpp Sync to upstream/release/594 (#1036) 2023-09-07 17:13:49 -07:00
TypeArena.cpp Sync to upstream/release/557 (#794) 2023-01-04 12:53:17 -08:00
TypeAttach.cpp Add support for ClassType indexer in definition files (#949) 2023-06-12 13:02:54 -07:00
TypeChecker2.cpp Sync to upstream/release/595 (#1044) 2023-09-15 10:26:59 -07:00
TypedAllocator.cpp Sync to upstream/release/555 (#768) 2022-12-02 10:09:59 -08:00
TypeFamily.cpp Sync to upstream/release/589 (#1000) 2023-08-04 12:18:54 -07:00
TypeInfer.cpp Sync to upstream/release/594 (#1036) 2023-09-07 17:13:49 -07:00
TypePack.cpp Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
TypeUtils.cpp Sync to upstream/release/589 (#1000) 2023-08-04 12:18:54 -07:00
Unifiable.cpp Sync to upstream/release/571 (#895) 2023-04-07 14:01:29 -07:00
Unifier.cpp Sync to upstream/release/595 (#1044) 2023-09-15 10:26:59 -07:00
Unifier2.cpp Sync to upstream/release/595 (#1044) 2023-09-15 10:26:59 -07:00