mirror of
https://github.com/luau-lang/luau.git
synced 2024-11-15 14:25:44 +08:00
ae459a0197
# 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.h | ||
ApplyTypeFunction.h | ||
AstJsonEncoder.h | ||
AstQuery.h | ||
Autocomplete.h | ||
BuiltinDefinitions.h | ||
Cancellation.h | ||
Clone.h | ||
Constraint.h | ||
ConstraintGenerator.h | ||
ConstraintSolver.h | ||
ControlFlow.h | ||
DataFlowGraph.h | ||
DcrLogger.h | ||
Def.h | ||
Differ.h | ||
Documentation.h | ||
Error.h | ||
FileResolver.h | ||
Frontend.h | ||
GlobalTypes.h | ||
InsertionOrderedMap.h | ||
Instantiation2.h | ||
Instantiation.h | ||
IostreamHelpers.h | ||
JsonEmitter.h | ||
Linter.h | ||
LValue.h | ||
Metamethods.h | ||
Module.h | ||
ModuleResolver.h | ||
NonStrictTypeChecker.h | ||
Normalize.h | ||
NotNull.h | ||
OverloadResolution.h | ||
Predicate.h | ||
Quantify.h | ||
RecursionCounter.h | ||
Refinement.h | ||
RequireTracer.h | ||
Scope.h | ||
Set.h | ||
Simplify.h | ||
Substitution.h | ||
Subtyping.h | ||
Symbol.h | ||
ToDot.h | ||
TopoSortStatements.h | ||
ToString.h | ||
Transpiler.h | ||
TxnLog.h | ||
Type.h | ||
TypeArena.h | ||
TypeAttach.h | ||
TypeChecker2.h | ||
TypeCheckLimits.h | ||
TypedAllocator.h | ||
TypeFamily.h | ||
TypeFamilyReductionGuesser.h | ||
TypeFwd.h | ||
TypeInfer.h | ||
TypeOrPack.h | ||
TypePack.h | ||
TypePairHash.h | ||
TypePath.h | ||
TypeUtils.h | ||
Unifiable.h | ||
Unifier2.h | ||
Unifier.h | ||
UnifierSharedState.h | ||
Variant.h | ||
VisitType.h |