extern crate alloc;
#[cfg(test)]
mod dense_hash_tests;
pub mod enums;
pub mod functions;
#[cfg(test)]
mod insertion_ordered_map_tests;
pub mod macros;
pub mod methods;
pub mod records;
#[cfg(test)]
mod string_utils_tests;
pub mod type_aliases;
#[cfg(test)]
mod vec_deque_tests;
#[cfg(target_arch = "wasm32")]
pub mod wasm_libc;
pub use functions::assert_call_handler::assert_call_handler;
pub use records::f_value::set_luau_bool_flags;
#[allow(non_snake_case)]
pub fn set_all_flags(value: bool) {
FFlag::DesugaredArrayTypeReferenceIsEmpty.set(value);
FFlag::FixMathNoisePrecision.set(value);
FFlag::LuauAddRecursionCounterToNonStrictTypeChecker.set(value);
FFlag::LuauAllowGlobalDeclarationToBeCalledClass.set(value);
FFlag::LuauAlsoInstantiateInferredArguments.set(value);
FFlag::LuauAutocompleteConst.set(value);
FFlag::LuauAutocompleteExport.set(value);
FFlag::LuauAutocompleteStringSingletonIntersection.set(value);
FFlag::LuauBidirectionalInferenceBetterUnionHandling.set(value);
FFlag::LuauCallFeedback.set(value);
FFlag::LuauCheckFunctionStatementTypes.set(value);
FFlag::LuauClosureUsageCounter.set(value);
FFlag::LuauCodeGenCallWrapperEmitInst.set(value);
FFlag::LuauCodegenBufferInteger.set(value);
FFlag::LuauCodegenDsePtrStoreTagCheck.set(value);
FFlag::LuauCodegenDseRestoreHints.set(value);
FFlag::LuauCodegenExtraTableOpts.set(value);
FFlag::LuauCodegenFixBufferLenCheck.set(value);
FFlag::LuauCodegenForwardRematerialize.set(value);
FFlag::LuauCodegenFreeBlocks.set(value);
FFlag::LuauCodegenInteger2.set(value);
FFlag::LuauCodegenIntegerArg3Fix.set(value);
FFlag::LuauCodegenIntegerFastcall2k.set(value);
FFlag::LuauCodegenLinearSetupEntryState3.set(value);
FFlag::LuauCodegenLoadPropagateOrigin.set(value);
FFlag::LuauCodegenNopPadding.set(value);
FFlag::LuauCodegenProtectData.set(value);
FFlag::LuauCodegenRecordAllBlockExitInfo.set(value);
FFlag::LuauCodegenRegTag2.set(value);
FFlag::LuauCodegenSuggestArgumentRegisterX64.set(value);
FFlag::LuauCodegenVmExitSync.set(value);
FFlag::LuauCodegenVmExitSyncFix.set(value);
FFlag::LuauCompileDuptableConstantPack2.set(value);
FFlag::LuauCompileFastcall3CostModel.set(value);
FFlag::LuauCompileFoldOptimize.set(value);
FFlag::LuauCompileInlineTableFunctions.set(value);
FFlag::LuauCompileNewTableMutationTracker.set(value);
FFlag::LuauCompileNoOptNext.set(value);
FFlag::LuauCompilePropagateTableProps2.set(value);
FFlag::LuauCompileStringInterpTargetTop.set(value);
FFlag::LuauCompileTypeAliases.set(value);
FFlag::LuauCompileUdataDirect.set(value);
FFlag::LuauConcatDoesntAlwaysReturnString.set(value);
FFlag::LuauConst2.set(value);
FFlag::LuauConstJustReportErrorForUnderfill.set(value);
FFlag::LuauConstraintGraph.set(value);
FFlag::LuauCstExprGroup.set(value);
FFlag::LuauCstTypeGroup.set(value);
FFlag::LuauDirectFieldGet.set(value);
FFlag::LuauDisallowRedefiningBuiltinTypes.set(value);
FFlag::LuauEmitCallFeedback.set(value);
FFlag::LuauErrorTolerantPrettyPrinting.set(value);
FFlag::LuauExplicitTypeInstantiationSupport.set(value);
FFlag::LuauExportValueSyntax.set(value);
FFlag::LuauExportValueTypecheck.set(value);
FFlag::LuauExternTypesNormalizeWithShapes.set(value);
FFlag::LuauFixIndexerSubtypingOrdering.set(value);
FFlag::LuauFixPropReadsOnMetatableTypes.set(value);
FFlag::LuauInstantiateFunctionTypeBeforePush.set(value);
FFlag::LuauInstantiateInSubtyping.set(value);
FFlag::LuauInstantiationUsesPolarity.set(value);
FFlag::LuauIntegerBufferFastcalls.set(value);
FFlag::LuauIntegerFastcalls.set(value);
FFlag::LuauIntegerLibrary.set(value);
FFlag::LuauIntegerType2.set(value);
FFlag::LuauIterativeInstantiationQueuer.set(value);
FFlag::LuauKnowsTheDataModel3.set(value);
FFlag::LuauLValueCompoundAssignmentVisitLhs.set(value);
FFlag::LuauLimitUnificationRecursion.set(value);
FFlag::LuauNativeCodeTargetCheck.set(value);
FFlag::LuauNonStrictModeUseErrorSupressingTag.set(value);
FFlag::LuauOccursCheckForAllBindings.set(value);
FFlag::LuauPropagateFreeTypesIntoUnionAndIntersectionBounds.set(value);
FFlag::LuauPropagateTypeAnnotationsInForInLoops.set(value);
FFlag::LuauPropertyModifierMismatchErrors.set(value);
FFlag::LuauReadOnlyIndexers.set(value);
FFlag::LuauRefineNilFromTableIndexerResultType.set(value);
FFlag::LuauRemoveConstraintSolverEmplace.set(value);
FFlag::LuauReplacerIsSolverAgnostic.set(value);
FFlag::LuauRequireResolveAliasNullCheck.set(value);
FFlag::LuauResumeRestoreCcalls.set(value);
FFlag::LuauSilenceDynamicFormatStringErrors.set(value);
FFlag::LuauSolverV2.set(value);
FFlag::LuauSubtypingMissingPropertiesAsNil.set(value);
FFlag::LuauSubtypingTablesHasBetterErrorSuppression.set(value);
FFlag::LuauTableEntriesDontNeedToMatchIndent.set(value);
FFlag::LuauTableFreezeCheckIsSubtype.set(value);
FFlag::LuauTidyTypePrototyping.set(value);
FFlag::LuauTransitiveSubtyping.set(value);
FFlag::LuauTweakAccessViolationReporting.set(value);
FFlag::LuauTypeFunctionRobustness.set(value);
FFlag::LuauTypeFunctionSerializeArgNames.set(value);
FFlag::LuauTypeFunctionStructuredErrors.set(value);
FFlag::LuauTypeFunctionSupportsFrozen.set(value);
FFlag::LuauUdataDirectAccess6.set(value);
FFlag::LuauUdtfTypeIsSubtypeOf.set(value);
FFlag::LuauUseNativeStackGuard.set(value);
FFlag::LuauVisitCallTypeArgsInDfg.set(value);
FFlag::LuauYieldIter2.set(value);
}
#[allow(non_snake_case)]
pub mod FFlag {
crate::LUAU_FASTFLAGVARIABLE!(DebugCodegenChaosA64);
crate::LUAU_FASTFLAGVARIABLE!(DebugCodegenOptSize);
crate::LUAU_FASTFLAGVARIABLE!(DebugCodegenSkipNumbering);
crate::LUAU_FASTFLAGVARIABLE!(DebugLogFragmentsFromAutocomplete);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauAbortingChecks);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauAlwaysShowConstraintSolvingIncomplete);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauAssertOnForcedConstraint);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauCheckNormalizeInvariant);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauDumpCFGJson);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauForbidInternalTypes);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauForceAllNewSolverTests);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauForceAllOldSolverTests);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauForceNonStrictMode);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauForceOldSolver);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauForceStrictMode);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauFreezeArena);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauFreezeDuringUnification);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauLogBindings);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauLogCFG);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauLogSolver);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauLogSolverToJson);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauLogSolverToJsonFile);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauLogTypeFamilies);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauMagicTypes);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauMagicVariableNames);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauNoInline);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauSubtypingCheckPathValidity);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauTimeTracing);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauToStringNoLexicalSort);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauUserDefinedClasses);
crate::LUAU_FASTFLAGVARIABLE!(DebugLuauUserDefinedClassesRuntime);
crate::LUAU_FASTFLAGVARIABLE!(DesugaredArrayTypeReferenceIsEmpty);
crate::LUAU_FASTFLAGVARIABLE!(FixMathNoisePrecision);
crate::LUAU_FASTFLAGVARIABLE!(LuauAddRecursionCounterToNonStrictTypeChecker);
crate::LUAU_FASTFLAGVARIABLE!(LuauAllowGlobalDeclarationToBeCalledClass);
crate::LUAU_FASTFLAGVARIABLE!(LuauAlsoInstantiateInferredArguments);
crate::LUAU_FASTFLAGVARIABLE!(LuauAutocompleteConst);
crate::LUAU_FASTFLAGVARIABLE!(LuauAutocompleteExport);
crate::LUAU_FASTFLAGVARIABLE!(LuauAutocompleteStringSingletonIntersection);
crate::LUAU_FASTFLAGVARIABLE!(LuauBidirectionalInferenceBetterUnionHandling);
crate::LUAU_FASTFLAGVARIABLE!(LuauCallFeedback);
crate::LUAU_FASTFLAGVARIABLE!(LuauCheckFunctionStatementTypes);
crate::LUAU_FASTFLAGVARIABLE!(LuauClosureUsageCounter);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodeGenCallWrapperEmitInst);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenBufferInteger);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenDsePtrStoreTagCheck);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenDseRestoreHints);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenExtraTableOpts);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenFixBufferLenCheck);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenForwardRematerialize);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenFreeBlocks);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenInteger2);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenIntegerArg3Fix);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenIntegerFastcall2k);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenLinearSetupEntryState3);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenLoadPropagateOrigin);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenNopPadding);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenProtectData);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenRecordAllBlockExitInfo);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenRegTag2);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenSuggestArgumentRegisterX64);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenVmExitSync);
crate::LUAU_FASTFLAGVARIABLE!(LuauCodegenVmExitSyncFix);
crate::LUAU_FASTFLAGVARIABLE!(LuauCompileDuptableConstantPack2);
crate::LUAU_FASTFLAGVARIABLE!(LuauCompileFastcall3CostModel);
crate::LUAU_FASTFLAGVARIABLE!(LuauCompileFoldOptimize);
crate::LUAU_FASTFLAGVARIABLE!(LuauCompileInlineTableFunctions);
crate::LUAU_FASTFLAGVARIABLE!(LuauCompileNewTableMutationTracker);
crate::LUAU_FASTFLAGVARIABLE!(LuauCompileNoOptNext);
crate::LUAU_FASTFLAGVARIABLE!(LuauCompilePropagateTableProps2);
crate::LUAU_FASTFLAGVARIABLE!(LuauCompileStringInterpTargetTop);
crate::LUAU_FASTFLAGVARIABLE!(LuauCompileTypeAliases);
crate::LUAU_FASTFLAGVARIABLE!(LuauCompileUdataDirect);
crate::LUAU_FASTFLAGVARIABLE!(LuauConcatDoesntAlwaysReturnString);
crate::LUAU_FASTFLAGVARIABLE!(LuauConst2);
crate::LUAU_FASTFLAGVARIABLE!(LuauConstJustReportErrorForUnderfill);
crate::LUAU_FASTFLAGVARIABLE!(LuauConstraintGraph);
crate::LUAU_FASTFLAGVARIABLE!(LuauCstExprGroup);
crate::LUAU_FASTFLAGVARIABLE!(LuauCstTypeGroup);
crate::LUAU_FASTFLAGVARIABLE!(LuauDirectFieldGet);
crate::LUAU_FASTFLAGVARIABLE!(LuauDisallowRedefiningBuiltinTypes);
crate::LUAU_FASTFLAGVARIABLE!(LuauEmitCallFeedback);
crate::LUAU_FASTFLAGVARIABLE!(LuauErrorTolerantPrettyPrinting);
crate::LUAU_FASTFLAGVARIABLE!(LuauExplicitTypeInstantiationSupport);
crate::LUAU_FASTFLAGVARIABLE!(LuauExportValueSyntax);
crate::LUAU_FASTFLAGVARIABLE!(LuauExportValueTypecheck);
crate::LUAU_FASTFLAGVARIABLE!(LuauExternTypesNormalizeWithShapes);
crate::LUAU_FASTFLAGVARIABLE!(LuauFixIndexerSubtypingOrdering);
crate::LUAU_FASTFLAGVARIABLE!(LuauFixPropReadsOnMetatableTypes);
crate::LUAU_FASTFLAGVARIABLE!(LuauInstantiateFunctionTypeBeforePush);
crate::LUAU_FASTFLAGVARIABLE!(LuauInstantiateInSubtyping);
crate::LUAU_FASTFLAGVARIABLE!(LuauInstantiationUsesPolarity);
crate::LUAU_FASTFLAGVARIABLE!(LuauIntegerBufferFastcalls);
crate::LUAU_FASTFLAGVARIABLE!(LuauIntegerFastcalls);
crate::LUAU_FASTFLAGVARIABLE!(LuauIntegerLibrary);
crate::LUAU_FASTFLAGVARIABLE!(LuauIntegerType2);
crate::LUAU_FASTFLAGVARIABLE!(LuauIterativeInstantiationQueuer);
crate::LUAU_FASTFLAGVARIABLE!(LuauKnowsTheDataModel3);
crate::LUAU_FASTFLAGVARIABLE!(LuauLValueCompoundAssignmentVisitLhs);
crate::LUAU_FASTFLAGVARIABLE!(LuauLimitUnificationRecursion);
crate::LUAU_FASTFLAGVARIABLE!(LuauNativeCodeTargetCheck);
crate::LUAU_FASTFLAGVARIABLE!(LuauNonStrictModeUseErrorSupressingTag);
crate::LUAU_FASTFLAGVARIABLE!(LuauOccursCheckForAllBindings);
crate::LUAU_FASTFLAGVARIABLE!(LuauPropagateFreeTypesIntoUnionAndIntersectionBounds);
crate::LUAU_FASTFLAGVARIABLE!(LuauPropagateTypeAnnotationsInForInLoops);
crate::LUAU_FASTFLAGVARIABLE!(LuauPropertyModifierMismatchErrors);
crate::LUAU_FASTFLAGVARIABLE!(LuauReadOnlyIndexers);
crate::LUAU_FASTFLAGVARIABLE!(LuauRefineNilFromTableIndexerResultType);
crate::LUAU_FASTFLAGVARIABLE!(LuauRemoveConstraintSolverEmplace);
crate::LUAU_FASTFLAGVARIABLE!(LuauReplacerIsSolverAgnostic);
crate::LUAU_FASTFLAGVARIABLE!(LuauRequireResolveAliasNullCheck);
crate::LUAU_FASTFLAGVARIABLE!(LuauResumeRestoreCcalls);
crate::LUAU_FASTFLAGVARIABLE!(LuauSilenceDynamicFormatStringErrors);
crate::LUAU_FASTFLAGVARIABLE!(LuauSolverV2);
crate::LUAU_FASTFLAGVARIABLE!(LuauSubtypingMissingPropertiesAsNil);
crate::LUAU_FASTFLAGVARIABLE!(LuauSubtypingTablesHasBetterErrorSuppression);
crate::LUAU_FASTFLAGVARIABLE!(LuauTableEntriesDontNeedToMatchIndent);
crate::LUAU_FASTFLAGVARIABLE!(LuauTableFreezeCheckIsSubtype);
crate::LUAU_FASTFLAGVARIABLE!(LuauTidyTypePrototyping);
crate::LUAU_FASTFLAGVARIABLE!(LuauTransitiveSubtyping);
crate::LUAU_FASTFLAGVARIABLE!(LuauTweakAccessViolationReporting);
crate::LUAU_FASTFLAGVARIABLE!(LuauTypeFunctionRobustness);
crate::LUAU_FASTFLAGVARIABLE!(LuauTypeFunctionSerializeArgNames);
crate::LUAU_FASTFLAGVARIABLE!(LuauTypeFunctionStructuredErrors);
crate::LUAU_FASTFLAGVARIABLE!(LuauTypeFunctionSupportsFrozen);
crate::LUAU_FASTFLAGVARIABLE!(LuauUdataDirectAccess6);
crate::LUAU_FASTFLAGVARIABLE!(LuauUdtfTypeIsSubtypeOf);
crate::LUAU_FASTFLAGVARIABLE!(LuauUseNativeStackGuard);
crate::LUAU_FASTFLAGVARIABLE!(LuauVisitCallTypeArgsInDfg);
crate::LUAU_FASTFLAGVARIABLE!(LuauYieldIter2);
}
#[allow(non_snake_case)]
pub mod FInt {
crate::LUAU_FASTINTVARIABLE!(CodegenHeuristicsBlockInstructionLimit, 65_536);
crate::LUAU_FASTINTVARIABLE!(CodegenHeuristicsBlockLimit, 32_768);
crate::LUAU_FASTINTVARIABLE!(CodegenHeuristicsInstructionLimit, 1_048_576);
crate::LUAU_FASTINTVARIABLE!(LuauCodeGenBlockSize, 4 * 1024 * 1024);
crate::LUAU_FASTINTVARIABLE!(LuauCodeGenMaxTotalSize, 256 * 1024 * 1024);
crate::LUAU_FASTINTVARIABLE!(LuauTypeCloneIterationLimit, 100_000);
crate::LUAU_FASTINTVARIABLE!(DebugLuauVerboseTypeNames, 0);
crate::LUAU_FASTINTVARIABLE!(LuauCheckRecursionLimit, 300);
crate::LUAU_FASTINTVARIABLE!(LuauCodeGenLiveSlotReuseLimit, 8);
crate::LUAU_FASTINTVARIABLE!(LuauCodeGenMinLinearBlockPath, 3);
crate::LUAU_FASTINTVARIABLE!(LuauCodeGenReuseSlotLimit, 64);
crate::LUAU_FASTINTVARIABLE!(LuauCodeGenReuseUdataTagLimit, 64);
crate::LUAU_FASTINTVARIABLE!(LuauCompileInlineDepth, 5);
crate::LUAU_FASTINTVARIABLE!(LuauCompileInlineThreshold, 25);
crate::LUAU_FASTINTVARIABLE!(LuauCompileInlineThresholdMaxBoost, 300);
crate::LUAU_FASTINTVARIABLE!(LuauCompileLoopUnrollThreshold, 25);
crate::LUAU_FASTINTVARIABLE!(LuauCompileLoopUnrollThresholdMaxBoost, 300);
crate::LUAU_FASTINTVARIABLE!(LuauGenericCounterMaxDepth, 15);
crate::LUAU_FASTINTVARIABLE!(LuauGenericCounterMaxSteps, 1500);
crate::LUAU_FASTINTVARIABLE!(LuauIndentTypeMismatchMaxTypeLength, 10);
crate::LUAU_FASTINTVARIABLE!(LuauInlineHitsThreshold, 3);
crate::LUAU_FASTINTVARIABLE!(LuauNonStrictTypeCheckerRecursionLimit, 300);
crate::LUAU_FASTINTVARIABLE!(LuauNormalizeCacheLimit, 100000);
crate::LUAU_FASTINTVARIABLE!(LuauNormalizerInitialFuel, 3000);
crate::LUAU_FASTINTVARIABLE!(LuauParseErrorLimit, 100);
crate::LUAU_FASTINTVARIABLE!(LuauPrimitiveInferenceInTableLimit, 500);
crate::LUAU_FASTINTVARIABLE!(LuauRecursionLimit, 1000);
crate::LUAU_FASTINTVARIABLE!(LuauSolverConstraintLimit, 1000);
crate::LUAU_FASTINTVARIABLE!(LuauSolverRecursionLimit, 500);
crate::LUAU_FASTINTVARIABLE!(LuauStackGuardThreshold, 1024);
crate::LUAU_FASTINTVARIABLE!(LuauSubtypingIterationLimit, 20000);
crate::LUAU_FASTINTVARIABLE!(LuauSubtypingReasoningLimit, 100);
crate::LUAU_FASTINTVARIABLE!(LuauSuggestionDistance, 4);
crate::LUAU_FASTINTVARIABLE!(LuauTableTypeMaximumStringifierLength, 0);
crate::LUAU_FASTINTVARIABLE!(LuauTarjanChildLimit, 10000);
crate::LUAU_FASTINTVARIABLE!(LuauTarjanPreallocationSize, 256);
crate::LUAU_FASTINTVARIABLE!(LuauTypeInferIterationLimit, 20000);
crate::LUAU_FASTINTVARIABLE!(LuauTypeInferRecursionLimit, 165);
crate::LUAU_FASTINTVARIABLE!(LuauTypeInferTypePackLoopLimit, 5000);
crate::LUAU_FASTINTVARIABLE!(LuauTypeLengthLimit, 1000);
crate::LUAU_FASTINTVARIABLE!(LuauTypeMaximumStringifierLength, 500);
crate::LUAU_FASTINTVARIABLE!(LuauVisitRecursionLimit, 500);
}
#[allow(non_snake_case)]
pub mod DFFlag {
crate::LUAU_DYNAMIC_FASTFLAGVARIABLE!(AddReturnExectargetCheck, false);
crate::LUAU_DYNAMIC_FASTFLAGVARIABLE!(DebugLuauReportReturnTypeVariadicWithTypeSuffix, false);
crate::LUAU_DYNAMIC_FASTFLAGVARIABLE!(LuauRequireAliasOverrideOrderFix, false);
}
#[allow(non_snake_case)]
pub mod DFInt {
crate::LUAU_DYNAMIC_FASTINTVARIABLE!(LuauTypeFamilyApplicationCartesianProductLimit, 5_000);
crate::LUAU_DYNAMIC_FASTINTVARIABLE!(LuauTypeFamilyGraphReductionMaximumSteps, 1_000_000);
crate::LUAU_DYNAMIC_FASTINTVARIABLE!(LuauTypeFunctionSerdeIterationLimit, 100_000);
crate::LUAU_DYNAMIC_FASTINTVARIABLE!(LuauConstraintGeneratorRecursionLimit, 300);
crate::LUAU_DYNAMIC_FASTINTVARIABLE!(LuauSimplificationComplexityLimit, 8);
crate::LUAU_DYNAMIC_FASTINTVARIABLE!(LuauStepRefineRecursionLimit, 64);
crate::LUAU_DYNAMIC_FASTINTVARIABLE!(LuauSubtypingRecursionLimit, 100);
crate::LUAU_DYNAMIC_FASTINTVARIABLE!(LuauTypeFamilyUseGuesserDepth, -1);
crate::LUAU_DYNAMIC_FASTINTVARIABLE!(LuauTypePathMaximumTraverseSteps, 100);
crate::LUAU_DYNAMIC_FASTINTVARIABLE!(LuauTypeSimplificationIterationLimit, 128);
crate::LUAU_DYNAMIC_FASTINTVARIABLE!(LuauUnifierRecursionLimit, 100);
}
mod fastflag_timetrace_tests {
#[test]
fn flag_default_and_timetrace_noops() {
assert_eq!(crate::FFlag::DebugLuauTimeTracing.get(), false);
crate::LUAU_TIMETRACE_SCOPE!("name", "category");
crate::LUAU_TIMETRACE_OPTIONAL_TAIL_SCOPE!("name", "category", 100);
crate::LUAU_TIMETRACE_ARGUMENT!("k", "v");
crate::FFlag::DebugLuauTimeTracing.set(true);
assert_eq!(crate::FFlag::DebugLuauTimeTracing.get(), true);
}
}