mirror of
https://github.com/luau-lang/luau.git
synced 2025-04-19 11:13:49 +01:00
# What's Changed * Add a compiler hint to improve Luau memory allocation inlining ### New Type Solver * Added a system for recommending explicit type annotations to users in cases where we've inferred complex generic types with type families. * Marked string library functions as `@checked` for use in new non-strict mode. * Fixed a bug with new non-strict mode where we would incorrectly report arity mismatches when missing optional arguments. * Implement an occurs check for unifications that would produce self-recursive types. * Fix bug where overload resolution would fail when applied to non-overloaded functions. * Fix bug that caused the subtyping to report an error whenever a generic was instantiated in an invariant context. * Fix crash caused by `SetPropConstraint` not blocking properly. ### Native Code Generation * Implement optimization to eliminate dead stores * Optimize vector ops for X64 when the source is computed (thanks, @zeux!) * Use more efficient lowering for UNM_* (thanks, @zeux!) --- ### 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: David Cope <dcope@roblox.com> Co-authored-by: Lily Brown <lbrown@roblox.com> Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com> --------- Co-authored-by: Alexander McCord <amccord@roblox.com> Co-authored-by: Andy Friesen <afriesen@roblox.com> Co-authored-by: Vighnesh <vvijay@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> |
||
---|---|---|
.. | ||
Anyification.cpp | ||
ApplyTypeFunction.cpp | ||
AstJsonEncoder.cpp | ||
AstQuery.cpp | ||
Autocomplete.cpp | ||
BuiltinDefinitions.cpp | ||
Clone.cpp | ||
Constraint.cpp | ||
ConstraintGenerator.cpp | ||
ConstraintSolver.cpp | ||
DataFlowGraph.cpp | ||
DcrLogger.cpp | ||
Def.cpp | ||
Differ.cpp | ||
EmbeddedBuiltinDefinitions.cpp | ||
Error.cpp | ||
Frontend.cpp | ||
GlobalTypes.cpp | ||
Instantiation.cpp | ||
Instantiation2.cpp | ||
IostreamHelpers.cpp | ||
JsonEmitter.cpp | ||
Linter.cpp | ||
LValue.cpp | ||
Module.cpp | ||
NonStrictTypeChecker.cpp | ||
Normalize.cpp | ||
OverloadResolution.cpp | ||
Quantify.cpp | ||
Refinement.cpp | ||
RequireTracer.cpp | ||
Scope.cpp | ||
Simplify.cpp | ||
Substitution.cpp | ||
Subtyping.cpp | ||
Symbol.cpp | ||
ToDot.cpp | ||
TopoSortStatements.cpp | ||
ToString.cpp | ||
Transpiler.cpp | ||
TxnLog.cpp | ||
Type.cpp | ||
TypeArena.cpp | ||
TypeAttach.cpp | ||
TypeChecker2.cpp | ||
TypedAllocator.cpp | ||
TypeFamily.cpp | ||
TypeFamilyReductionGuesser.cpp | ||
TypeInfer.cpp | ||
TypeOrPack.cpp | ||
TypePack.cpp | ||
TypePath.cpp | ||
TypeUtils.cpp | ||
Unifiable.cpp | ||
Unifier.cpp | ||
Unifier2.cpp |