From 129740361b42f2b5611900a1b169e9737408a3c7 Mon Sep 17 00:00:00 2001 From: Copilot Date: Tue, 8 Sep 2026 10:58:40 +0200 Subject: [PATCH 1/5] Add RED regression tests for issue #20379 (auto-quote + inferred generic recursion ICE) Adds three failing ComponentTests proving the FS0192 'internal error: Iterate2D' crash when [] on a parameter is used from an inferred generically-recursive function. No compiler source changed; a later sprint fixes it. Includes red-evidence-sprint01.txt showing all three tests failing with Iterate2D. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .tools/ralph/red-evidence-sprint01.txt | 689 ++++++++++++++++++ .../Language/CodeQuotationTests.fs | 79 ++ 2 files changed, 768 insertions(+) create mode 100644 .tools/ralph/red-evidence-sprint01.txt diff --git a/.tools/ralph/red-evidence-sprint01.txt b/.tools/ralph/red-evidence-sprint01.txt new file mode 100644 index 00000000000..d535a16a8c5 --- /dev/null +++ b/.tools/ralph/red-evidence-sprint01.txt @@ -0,0 +1,689 @@ +Running tests from Q:\fsharp-worktrees\issue-767\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net11.0\FSharp.Compiler.ComponentTests.dll (net11.0|x64) +failed Language.CodeQuotationsTests.ReflectedDefinition parameter preserves generic argument order at runtime - issue 20379 (408ms) + Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unexpected exception raised in compiler: Iterate2D +System.Exception: Iterate2D + at FSharp.Compiler.DiagnosticsLogger.Iterate2D[T,b](FSharpFunc`2 f, FSharpList`1 xs, FSharpList`1 ys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 746 + at FSharp.Compiler.ConstraintSolver.SolveTyparsEqualTypesAux(ConstraintSolverEnv csenv, Int32 ndeep, Range m2, OptionalTrace trace, FSharpList`1 tpTys, FSharpList`1 tys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 1248 + at FSharp.Compiler.ConstraintSolver.CodegenWitnessesForTyparInst(FSharpFunc`2 tcVal, TcGlobals g, ImportMap amap, Range m, FSharpList`1 typars, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 4467 + at FSharp.Compiler.QuotationTranslator.GetWitnessArgs(QuotationGenerationScope cenv, QuotationTranslationEnv env, Range m, FSharpList`1 tps, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 252 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 387 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 764 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1145 + at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1077 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 481 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 463 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprPublic(QuotationGenerationScope cenv, Boolean suppressWitnesses, Expr e) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1270 + at FSharp.Compiler.PostTypeCheckSemanticChecks.doData@1288.Invoke(Boolean suppressWitnesses) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1289 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckQuoteExpr(cenv cenv, env env, Expr ast, FSharpRef`1 savedConv, Range m, TType ty) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1294 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1213 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprPermitByRefLike(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1920 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1916@1916.Invoke(Expr expr) + at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 + at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 + at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprsPermitByRefLike(cenv cenv, env env, FSharpList`1 exprs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1916 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1235 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 + at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 + at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprLinear(cenv cenv, env env, Expr expr, PermitByRefExpr ctxt, FSharpFunc`2 contf) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1069 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1198 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprNoByrefs(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 824 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckLambdas(Boolean isTop, FSharpOption`1 memberVal, cenv cenv, env env, Boolean inlined, ValReprInfo valReprInfo, Boolean alwaysCheckNoReraise, Expr expr, Range mOrig, TType ety, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1865 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckBinding(cenv cenv, env env, Boolean alwaysCheckNoReraise, PermitByRefExpr ctxt, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2220 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleBinding(cenv cenv, env env, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2347 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleSpec(cenv cenv, env env, ModuleOrNamespaceBinding mbind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2788 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckImplFile(TcGlobals g, ImportMap amap, Boolean reportErrors, InfoReader infoReader, FSharpList`1 internalsVisibleToPaths, CcuThunk viewCcu, FSharpFunc`2 tcValF, DisplayEnv denv, ModuleOrNamespaceType implFileTy, ModuleOrNamespaceContents implFileContents, FSharpList`1 extraAttribs, Tuple`2 isLastCompiland, Boolean isInternalTestSpanStackReferring) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2857 + at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6352-10.Invoke(Unit unitVar0) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6363 + at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6258-1.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6282 + at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1524-12.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1524 + at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1446-14.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1446 + at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 + at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) + at System.Diagnostics.Debug.Fail(String message, String detailMessage) + at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 + at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 + at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 + at FSharp.Compiler.DiagnosticsLogger.CommitDelayedDiagnostics@414.Invoke(PhasedDiagnostic diagnostic) + at FSharp.Compiler.DiagnosticsLogger.CapturingDiagnosticsLogger.CommitDelayedDiagnostics(DiagnosticsLogger diagnosticsLogger) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 414 + at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 739 + at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 732 + at FSharp.Compiler.ParseAndCheckInputs.CheckMultipleInputsUsingGraphMode[a](a _arg1_0, FSharpFunc`2 _arg1_1, TcConfig _arg1_2, TcImports _arg1_3, TcGlobals _arg1_4, FSharpOption`1 _arg1_5, TcState _arg1_6, FSharpFunc`2 _arg1_7, FSharpList`1 _arg1_8) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1845 + at FSharp.Compiler.ParseAndCheckInputs.CheckClosedInputSet(CompilationThreadToken ctok, FSharpFunc`2 checkForErrors, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, FSharpOption`1 prefixPathOpt, TcState tcState, FSharpFunc`2 eagerFormat, FSharpList`1 inputs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1881 + at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 153 + at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 + at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) + at System.Diagnostics.Debug.Fail(String message, String detailMessage) + at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 + at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 + at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 + at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 504 + at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 600 + at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 165 + at FSharp.Compiler.Driver.main1(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider diagnosticsLoggerProvider, DisposablesTracker disposables) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 672 + at FSharp.Compiler.Driver.CompileFromCommandLineArguments(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider loggerProvider, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 1239 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.result@71.Invoke(StopProcessingExiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 72 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 58 + from Q:\fsharp-worktrees\issue-767\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net11.0\FSharp.Compiler.ComponentTests.dll (net11.0|x64) + Xunit.MicrosoftTestingPlatform.XunitException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unexpected exception raised in compiler: Iterate2D + System.Exception: Iterate2D + at FSharp.Compiler.DiagnosticsLogger.Iterate2D[T,b](FSharpFunc`2 f, FSharpList`1 xs, FSharpList`1 ys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 746 + at FSharp.Compiler.ConstraintSolver.SolveTyparsEqualTypesAux(ConstraintSolverEnv csenv, Int32 ndeep, Range m2, OptionalTrace trace, FSharpList`1 tpTys, FSharpList`1 tys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 1248 + at FSharp.Compiler.ConstraintSolver.CodegenWitnessesForTyparInst(FSharpFunc`2 tcVal, TcGlobals g, ImportMap amap, Range m, FSharpList`1 typars, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 4467 + at FSharp.Compiler.QuotationTranslator.GetWitnessArgs(QuotationGenerationScope cenv, QuotationTranslationEnv env, Range m, FSharpList`1 tps, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 252 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 387 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 764 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1145 + at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1077 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 481 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 463 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprPublic(QuotationGenerationScope cenv, Boolean suppressWitnesses, Expr e) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1270 + at FSharp.Compiler.PostTypeCheckSemanticChecks.doData@1288.Invoke(Boolean suppressWitnesses) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1289 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckQuoteExpr(cenv cenv, env env, Expr ast, FSharpRef`1 savedConv, Range m, TType ty) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1294 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1213 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprPermitByRefLike(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1920 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1916@1916.Invoke(Expr expr) + at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 + at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 + at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprsPermitByRefLike(cenv cenv, env env, FSharpList`1 exprs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1916 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1235 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 + at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 + at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprLinear(cenv cenv, env env, Expr expr, PermitByRefExpr ctxt, FSharpFunc`2 contf) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1069 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1198 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprNoByrefs(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 824 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckLambdas(Boolean isTop, FSharpOption`1 memberVal, cenv cenv, env env, Boolean inlined, ValReprInfo valReprInfo, Boolean alwaysCheckNoReraise, Expr expr, Range mOrig, TType ety, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1865 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckBinding(cenv cenv, env env, Boolean alwaysCheckNoReraise, PermitByRefExpr ctxt, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2220 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleBinding(cenv cenv, env env, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2347 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleSpec(cenv cenv, env env, ModuleOrNamespaceBinding mbind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2788 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckImplFile(TcGlobals g, ImportMap amap, Boolean reportErrors, InfoReader infoReader, FSharpList`1 internalsVisibleToPaths, CcuThunk viewCcu, FSharpFunc`2 tcValF, DisplayEnv denv, ModuleOrNamespaceType implFileTy, ModuleOrNamespaceContents implFileContents, FSharpList`1 extraAttribs, Tuple`2 isLastCompiland, Boolean isInternalTestSpanStackReferring) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2857 + at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6352-10.Invoke(Unit unitVar0) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6363 + at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6258-1.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6282 + at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1524-12.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1524 + at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1446-14.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1446 + at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 + at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) + at System.Diagnostics.Debug.Fail(String message, String detailMessage) + at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 + at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 + at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 + at FSharp.Compiler.DiagnosticsLogger.CommitDelayedDiagnostics@414.Invoke(PhasedDiagnostic diagnostic) + at FSharp.Compiler.DiagnosticsLogger.CapturingDiagnosticsLogger.CommitDelayedDiagnostics(DiagnosticsLogger diagnosticsLogger) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 414 + at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 739 + at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 732 + at FSharp.Compiler.ParseAndCheckInputs.CheckMultipleInputsUsingGraphMode[a](a _arg1_0, FSharpFunc`2 _arg1_1, TcConfig _arg1_2, TcImports _arg1_3, TcGlobals _arg1_4, FSharpOption`1 _arg1_5, TcState _arg1_6, FSharpFunc`2 _arg1_7, FSharpList`1 _arg1_8) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1845 + at FSharp.Compiler.ParseAndCheckInputs.CheckClosedInputSet(CompilationThreadToken ctok, FSharpFunc`2 checkForErrors, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, FSharpOption`1 prefixPathOpt, TcState tcState, FSharpFunc`2 eagerFormat, FSharpList`1 inputs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1881 + at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 153 + at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 + at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) + at System.Diagnostics.Debug.Fail(String message, String detailMessage) + at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 + at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 + at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 + at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 504 + at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 600 + at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 165 + at FSharp.Compiler.Driver.main1(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider diagnosticsLoggerProvider, DisposablesTracker disposables) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 672 + at FSharp.Compiler.Driver.CompileFromCommandLineArguments(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider loggerProvider, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 1239 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.result@71.Invoke(StopProcessingExiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 72 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 58 + at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) + at System.Diagnostics.Debug.Fail(String message, String detailMessage) + at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:2109 + at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:2119 + at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:233 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:36 + at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:504 + at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.StopProcessingRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:519 + at FSharp.Compiler.DiagnosticsLogger.stopProcessingRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:603 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:61 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.compileFromArgs(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:70 + at .$Service.Compile@328.Invoke(Unit unitVar) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:329 + at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\async.fs:509 + at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\async.fs:112 + --- End of stack trace from previous location --- + at FSharp.Test.Utilities.Async.RunSynchronouslyImmediate.Static[T](FSharpAsync`1 computation, FSharpOption`1 cancellationToken) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Utilities.fs:80 + at FSharp.Test.CompilerAssertHelpers.rawCompile(String outputFilePath, Boolean isExe, IEnumerable`1 options, TargetFramework targetFramework, FSharpList`1 sources) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:472 + at FSharp.Test.CompilerAssertHelpers.compileDisposable(DirectoryInfo outputDirectory, Boolean isExe, IEnumerable`1 options, TargetFramework targetFramework, FSharpOption`1 nameOpt, FSharpList`1 sources) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:500 + at FSharp.Test.CompilerAssertHelpers.compileCompilationAux(DirectoryInfo outputDirectory, Boolean ignoreWarnings, Compilation cmpl) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:570 + at FSharp.Test.CompilerAssertHelpers.returnCompilation(Compilation cmpl, Boolean ignoreWarnings) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:627 + at FSharp.Test.CompilerAssert.CompileRaw(Compilation cmpl, FSharpOption`1 ignoreWarnings) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:736 + at FSharp.Test.Compiler.compileFSharpCompilation(Compilation compilation, Boolean ignoreWarnings, CompilationUnit cUnit) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:863 + at FSharp.Test.Compiler.compileFSharp(FSharpCompilationSource fs) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:899 + at FSharp.Test.Compiler.compile(CompilationUnit cUnit) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:980 + at FSharp.Test.Compiler.compileAndRun@1156.Invoke(CompilationUnit cUnit) + at FSharp.Test.Compiler.compileAndRun@1156-2.Invoke(CompilationUnit x) + at Language.CodeQuotationsTests.ReflectedDefinition parameter preserves generic argument order at runtime - issue 20379() in Q:\fsharp-worktrees\issue-767\tests\FSharp.Compiler.ComponentTests\Language\CodeQuotationTests.fs:281 + at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) + at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr) +failed Language.CodeQuotationsTests.ReflectedDefinition parameter with inferred generic recursion compiles - issue 20379 (231ms) + Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unexpected exception raised in compiler: Iterate2D +System.Exception: Iterate2D + at FSharp.Compiler.DiagnosticsLogger.Iterate2D[T,b](FSharpFunc`2 f, FSharpList`1 xs, FSharpList`1 ys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 746 + at FSharp.Compiler.ConstraintSolver.SolveTyparsEqualTypesAux(ConstraintSolverEnv csenv, Int32 ndeep, Range m2, OptionalTrace trace, FSharpList`1 tpTys, FSharpList`1 tys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 1248 + at FSharp.Compiler.ConstraintSolver.CodegenWitnessesForTyparInst(FSharpFunc`2 tcVal, TcGlobals g, ImportMap amap, Range m, FSharpList`1 typars, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 4467 + at FSharp.Compiler.QuotationTranslator.GetWitnessArgs(QuotationGenerationScope cenv, QuotationTranslationEnv env, Range m, FSharpList`1 tps, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 252 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 387 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 764 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 463 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprPublic(QuotationGenerationScope cenv, Boolean suppressWitnesses, Expr e) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1270 + at FSharp.Compiler.PostTypeCheckSemanticChecks.doData@1288.Invoke(Boolean suppressWitnesses) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1289 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckQuoteExpr(cenv cenv, env env, Expr ast, FSharpRef`1 savedConv, Range m, TType ty) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1294 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1213 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprPermitByRefLike(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1920 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1916@1916.Invoke(Expr expr) + at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 + at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 + at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprsPermitByRefLike(cenv cenv, env env, FSharpList`1 exprs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1916 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1235 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 + at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 + at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprLinear(cenv cenv, env env, Expr expr, PermitByRefExpr ctxt, FSharpFunc`2 contf) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1069 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1198 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprNoByrefs(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 824 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckLambdas(Boolean isTop, FSharpOption`1 memberVal, cenv cenv, env env, Boolean inlined, ValReprInfo valReprInfo, Boolean alwaysCheckNoReraise, Expr expr, Range mOrig, TType ety, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1865 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckBinding(cenv cenv, env env, Boolean alwaysCheckNoReraise, PermitByRefExpr ctxt, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2220 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleBinding(cenv cenv, env env, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2347 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleSpec(cenv cenv, env env, ModuleOrNamespaceBinding mbind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2788 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckImplFile(TcGlobals g, ImportMap amap, Boolean reportErrors, InfoReader infoReader, FSharpList`1 internalsVisibleToPaths, CcuThunk viewCcu, FSharpFunc`2 tcValF, DisplayEnv denv, ModuleOrNamespaceType implFileTy, ModuleOrNamespaceContents implFileContents, FSharpList`1 extraAttribs, Tuple`2 isLastCompiland, Boolean isInternalTestSpanStackReferring) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2857 + at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6352-10.Invoke(Unit unitVar0) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6363 + at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6258-1.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6282 + at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1524-12.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1524 + at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1446-14.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1446 + at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 + at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) + at System.Diagnostics.Debug.Fail(String message, String detailMessage) + at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 + at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 + at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 + at FSharp.Compiler.DiagnosticsLogger.CommitDelayedDiagnostics@414.Invoke(PhasedDiagnostic diagnostic) + at FSharp.Compiler.DiagnosticsLogger.CapturingDiagnosticsLogger.CommitDelayedDiagnostics(DiagnosticsLogger diagnosticsLogger) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 414 + at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 739 + at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 732 + at FSharp.Compiler.ParseAndCheckInputs.CheckMultipleInputsUsingGraphMode[a](a _arg1_0, FSharpFunc`2 _arg1_1, TcConfig _arg1_2, TcImports _arg1_3, TcGlobals _arg1_4, FSharpOption`1 _arg1_5, TcState _arg1_6, FSharpFunc`2 _arg1_7, FSharpList`1 _arg1_8) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1845 + at FSharp.Compiler.ParseAndCheckInputs.CheckClosedInputSet(CompilationThreadToken ctok, FSharpFunc`2 checkForErrors, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, FSharpOption`1 prefixPathOpt, TcState tcState, FSharpFunc`2 eagerFormat, FSharpList`1 inputs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1881 + at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 153 + at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 + at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) + at System.Diagnostics.Debug.Fail(String message, String detailMessage) + at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 + at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 + at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 + at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 504 + at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 600 + at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 165 + at FSharp.Compiler.Driver.main1(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider diagnosticsLoggerProvider, DisposablesTracker disposables) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 672 + at FSharp.Compiler.Driver.CompileFromCommandLineArguments(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider loggerProvider, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 1239 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.result@71.Invoke(StopProcessingExiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 72 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 58 + from Q:\fsharp-worktrees\issue-767\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net11.0\FSharp.Compiler.ComponentTests.dll (net11.0|x64) + Xunit.MicrosoftTestingPlatform.XunitException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unexpected exception raised in compiler: Iterate2D + System.Exception: Iterate2D + at FSharp.Compiler.DiagnosticsLogger.Iterate2D[T,b](FSharpFunc`2 f, FSharpList`1 xs, FSharpList`1 ys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 746 + at FSharp.Compiler.ConstraintSolver.SolveTyparsEqualTypesAux(ConstraintSolverEnv csenv, Int32 ndeep, Range m2, OptionalTrace trace, FSharpList`1 tpTys, FSharpList`1 tys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 1248 + at FSharp.Compiler.ConstraintSolver.CodegenWitnessesForTyparInst(FSharpFunc`2 tcVal, TcGlobals g, ImportMap amap, Range m, FSharpList`1 typars, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 4467 + at FSharp.Compiler.QuotationTranslator.GetWitnessArgs(QuotationGenerationScope cenv, QuotationTranslationEnv env, Range m, FSharpList`1 tps, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 252 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 387 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 764 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 463 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprPublic(QuotationGenerationScope cenv, Boolean suppressWitnesses, Expr e) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1270 + at FSharp.Compiler.PostTypeCheckSemanticChecks.doData@1288.Invoke(Boolean suppressWitnesses) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1289 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckQuoteExpr(cenv cenv, env env, Expr ast, FSharpRef`1 savedConv, Range m, TType ty) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1294 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1213 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprPermitByRefLike(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1920 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1916@1916.Invoke(Expr expr) + at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 + at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 + at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprsPermitByRefLike(cenv cenv, env env, FSharpList`1 exprs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1916 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1235 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 + at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 + at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprLinear(cenv cenv, env env, Expr expr, PermitByRefExpr ctxt, FSharpFunc`2 contf) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1069 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1198 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprNoByrefs(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 824 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckLambdas(Boolean isTop, FSharpOption`1 memberVal, cenv cenv, env env, Boolean inlined, ValReprInfo valReprInfo, Boolean alwaysCheckNoReraise, Expr expr, Range mOrig, TType ety, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1865 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckBinding(cenv cenv, env env, Boolean alwaysCheckNoReraise, PermitByRefExpr ctxt, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2220 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleBinding(cenv cenv, env env, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2347 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleSpec(cenv cenv, env env, ModuleOrNamespaceBinding mbind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2788 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckImplFile(TcGlobals g, ImportMap amap, Boolean reportErrors, InfoReader infoReader, FSharpList`1 internalsVisibleToPaths, CcuThunk viewCcu, FSharpFunc`2 tcValF, DisplayEnv denv, ModuleOrNamespaceType implFileTy, ModuleOrNamespaceContents implFileContents, FSharpList`1 extraAttribs, Tuple`2 isLastCompiland, Boolean isInternalTestSpanStackReferring) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2857 + at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6352-10.Invoke(Unit unitVar0) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6363 + at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6258-1.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6282 + at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1524-12.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1524 + at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1446-14.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1446 + at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 + at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) + at System.Diagnostics.Debug.Fail(String message, String detailMessage) + at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 + at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 + at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 + at FSharp.Compiler.DiagnosticsLogger.CommitDelayedDiagnostics@414.Invoke(PhasedDiagnostic diagnostic) + at FSharp.Compiler.DiagnosticsLogger.CapturingDiagnosticsLogger.CommitDelayedDiagnostics(DiagnosticsLogger diagnosticsLogger) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 414 + at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 739 + at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 732 + at FSharp.Compiler.ParseAndCheckInputs.CheckMultipleInputsUsingGraphMode[a](a _arg1_0, FSharpFunc`2 _arg1_1, TcConfig _arg1_2, TcImports _arg1_3, TcGlobals _arg1_4, FSharpOption`1 _arg1_5, TcState _arg1_6, FSharpFunc`2 _arg1_7, FSharpList`1 _arg1_8) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1845 + at FSharp.Compiler.ParseAndCheckInputs.CheckClosedInputSet(CompilationThreadToken ctok, FSharpFunc`2 checkForErrors, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, FSharpOption`1 prefixPathOpt, TcState tcState, FSharpFunc`2 eagerFormat, FSharpList`1 inputs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1881 + at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 153 + at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 + at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) + at System.Diagnostics.Debug.Fail(String message, String detailMessage) + at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 + at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 + at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 + at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 504 + at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 600 + at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 165 + at FSharp.Compiler.Driver.main1(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider diagnosticsLoggerProvider, DisposablesTracker disposables) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 672 + at FSharp.Compiler.Driver.CompileFromCommandLineArguments(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider loggerProvider, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 1239 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.result@71.Invoke(StopProcessingExiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 72 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 58 + at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) + at System.Diagnostics.Debug.Fail(String message, String detailMessage) + at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:2109 + at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:2119 + at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:233 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:36 + at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:504 + at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.StopProcessingRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:519 + at FSharp.Compiler.DiagnosticsLogger.stopProcessingRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:603 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:61 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.compileFromArgs(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:70 + at .$Service.Compile@328.Invoke(Unit unitVar) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:329 + at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\async.fs:509 + at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\async.fs:112 + --- End of stack trace from previous location --- + at FSharp.Test.Utilities.Async.RunSynchronouslyImmediate.Static[T](FSharpAsync`1 computation, FSharpOption`1 cancellationToken) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Utilities.fs:80 + at FSharp.Test.CompilerAssertHelpers.rawCompile(String outputFilePath, Boolean isExe, IEnumerable`1 options, TargetFramework targetFramework, FSharpList`1 sources) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:472 + at FSharp.Test.CompilerAssertHelpers.compileDisposable(DirectoryInfo outputDirectory, Boolean isExe, IEnumerable`1 options, TargetFramework targetFramework, FSharpOption`1 nameOpt, FSharpList`1 sources) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:500 + at FSharp.Test.CompilerAssertHelpers.compileCompilationAux(DirectoryInfo outputDirectory, Boolean ignoreWarnings, Compilation cmpl) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:570 + at FSharp.Test.CompilerAssertHelpers.returnCompilation(Compilation cmpl, Boolean ignoreWarnings) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:627 + at FSharp.Test.CompilerAssert.CompileRaw(Compilation cmpl, FSharpOption`1 ignoreWarnings) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:736 + at FSharp.Test.Compiler.compileFSharpCompilation(Compilation compilation, Boolean ignoreWarnings, CompilationUnit cUnit) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:863 + at FSharp.Test.Compiler.compileFSharp(FSharpCompilationSource fs) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:899 + at FSharp.Test.Compiler.compile(CompilationUnit cUnit) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:980 + at Language.CodeQuotationsTests.ReflectedDefinition parameter with inferred generic recursion compiles - issue 20379() in Q:\fsharp-worktrees\issue-767\tests\FSharp.Compiler.ComponentTests\Language\CodeQuotationTests.fs:221 + at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) + at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr) +failed Language.CodeQuotationsTests.ReflectedDefinition parameter with recursive append shape compiles - issue 20379 (172ms) + Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unexpected exception raised in compiler: Iterate2D +System.Exception: Iterate2D + at FSharp.Compiler.DiagnosticsLogger.Iterate2D[T,b](FSharpFunc`2 f, FSharpList`1 xs, FSharpList`1 ys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 746 + at FSharp.Compiler.ConstraintSolver.SolveTyparsEqualTypesAux(ConstraintSolverEnv csenv, Int32 ndeep, Range m2, OptionalTrace trace, FSharpList`1 tpTys, FSharpList`1 tys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 1248 + at FSharp.Compiler.ConstraintSolver.CodegenWitnessesForTyparInst(FSharpFunc`2 tcVal, TcGlobals g, ImportMap amap, Range m, FSharpList`1 typars, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 4467 + at FSharp.Compiler.QuotationTranslator.GetWitnessArgs(QuotationGenerationScope cenv, QuotationTranslationEnv env, Range m, FSharpList`1 tps, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 252 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 387 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprs@933.Invoke(Expr expr) + at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 + at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 + at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 512 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 764 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 450 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 450 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 449 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1145 + at FSharp.Compiler.QuotationTranslator.converted@1081.Invoke(DecisionTreeCase _arg1, ExprData acc) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1088 + at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1081 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 481 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 449 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 463 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprPublic(QuotationGenerationScope cenv, Boolean suppressWitnesses, Expr e) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1270 + at FSharp.Compiler.PostTypeCheckSemanticChecks.doData@1288.Invoke(Boolean suppressWitnesses) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1289 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckQuoteExpr(cenv cenv, env env, Expr ast, FSharpRef`1 savedConv, Range m, TType ty) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1294 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1213 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprPermitByRefLike(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1920 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1916@1916.Invoke(Expr expr) + at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 + at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 + at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprsPermitByRefLike(cenv cenv, env env, FSharpList`1 exprs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1916 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1235 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 + at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 + at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprLinear(cenv cenv, env env, Expr expr, PermitByRefExpr ctxt, FSharpFunc`2 contf) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1069 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1198 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprNoByrefs(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 824 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckLambdas(Boolean isTop, FSharpOption`1 memberVal, cenv cenv, env env, Boolean inlined, ValReprInfo valReprInfo, Boolean alwaysCheckNoReraise, Expr expr, Range mOrig, TType ety, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1865 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckBinding(cenv cenv, env env, Boolean alwaysCheckNoReraise, PermitByRefExpr ctxt, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2220 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleBinding(cenv cenv, env env, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2347 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleSpec(cenv cenv, env env, ModuleOrNamespaceBinding mbind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2788 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckImplFile(TcGlobals g, ImportMap amap, Boolean reportErrors, InfoReader infoReader, FSharpList`1 internalsVisibleToPaths, CcuThunk viewCcu, FSharpFunc`2 tcValF, DisplayEnv denv, ModuleOrNamespaceType implFileTy, ModuleOrNamespaceContents implFileContents, FSharpList`1 extraAttribs, Tuple`2 isLastCompiland, Boolean isInternalTestSpanStackReferring) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2857 + at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6352-10.Invoke(Unit unitVar0) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6363 + at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6258-1.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6282 + at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1524-12.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1524 + at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1446-14.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1446 + at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 + at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) + at System.Diagnostics.Debug.Fail(String message, String detailMessage) + at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 + at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 + at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 + at FSharp.Compiler.DiagnosticsLogger.CommitDelayedDiagnostics@414.Invoke(PhasedDiagnostic diagnostic) + at FSharp.Compiler.DiagnosticsLogger.CapturingDiagnosticsLogger.CommitDelayedDiagnostics(DiagnosticsLogger diagnosticsLogger) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 414 + at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 739 + at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 732 + at FSharp.Compiler.ParseAndCheckInputs.CheckMultipleInputsUsingGraphMode[a](a _arg1_0, FSharpFunc`2 _arg1_1, TcConfig _arg1_2, TcImports _arg1_3, TcGlobals _arg1_4, FSharpOption`1 _arg1_5, TcState _arg1_6, FSharpFunc`2 _arg1_7, FSharpList`1 _arg1_8) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1845 + at FSharp.Compiler.ParseAndCheckInputs.CheckClosedInputSet(CompilationThreadToken ctok, FSharpFunc`2 checkForErrors, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, FSharpOption`1 prefixPathOpt, TcState tcState, FSharpFunc`2 eagerFormat, FSharpList`1 inputs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1881 + at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 153 + at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 + at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) + at System.Diagnostics.Debug.Fail(String message, String detailMessage) + at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 + at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 + at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 + at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 504 + at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 600 + at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 165 + at FSharp.Compiler.Driver.main1(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider diagnosticsLoggerProvider, DisposablesTracker disposables) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 672 + at FSharp.Compiler.Driver.CompileFromCommandLineArguments(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider loggerProvider, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 1239 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.result@71.Invoke(StopProcessingExiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 72 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 58 + from Q:\fsharp-worktrees\issue-767\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net11.0\FSharp.Compiler.ComponentTests.dll (net11.0|x64) + Xunit.MicrosoftTestingPlatform.XunitException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unexpected exception raised in compiler: Iterate2D + System.Exception: Iterate2D + at FSharp.Compiler.DiagnosticsLogger.Iterate2D[T,b](FSharpFunc`2 f, FSharpList`1 xs, FSharpList`1 ys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 746 + at FSharp.Compiler.ConstraintSolver.SolveTyparsEqualTypesAux(ConstraintSolverEnv csenv, Int32 ndeep, Range m2, OptionalTrace trace, FSharpList`1 tpTys, FSharpList`1 tys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 1248 + at FSharp.Compiler.ConstraintSolver.CodegenWitnessesForTyparInst(FSharpFunc`2 tcVal, TcGlobals g, ImportMap amap, Range m, FSharpList`1 typars, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 4467 + at FSharp.Compiler.QuotationTranslator.GetWitnessArgs(QuotationGenerationScope cenv, QuotationTranslationEnv env, Range m, FSharpList`1 tps, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 252 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 387 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprs@933.Invoke(Expr expr) + at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 + at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 + at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 512 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 764 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 450 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 450 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 449 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1145 + at FSharp.Compiler.QuotationTranslator.converted@1081.Invoke(DecisionTreeCase _arg1, ExprData acc) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1088 + at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1081 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 481 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 449 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 463 + at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 + at FSharp.Compiler.QuotationTranslator.ConvExprPublic(QuotationGenerationScope cenv, Boolean suppressWitnesses, Expr e) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1270 + at FSharp.Compiler.PostTypeCheckSemanticChecks.doData@1288.Invoke(Boolean suppressWitnesses) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1289 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckQuoteExpr(cenv cenv, env env, Expr ast, FSharpRef`1 savedConv, Range m, TType ty) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1294 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1213 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprPermitByRefLike(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1920 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1916@1916.Invoke(Expr expr) + at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 + at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 + at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprsPermitByRefLike(cenv cenv, env env, FSharpList`1 exprs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1916 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1235 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 + at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 + at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 + at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprLinear(cenv cenv, env env, Expr expr, PermitByRefExpr ctxt, FSharpFunc`2 contf) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1069 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1198 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprNoByrefs(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 824 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckLambdas(Boolean isTop, FSharpOption`1 memberVal, cenv cenv, env env, Boolean inlined, ValReprInfo valReprInfo, Boolean alwaysCheckNoReraise, Expr expr, Range mOrig, TType ety, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1865 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckBinding(cenv cenv, env env, Boolean alwaysCheckNoReraise, PermitByRefExpr ctxt, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2220 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleBinding(cenv cenv, env env, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2347 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleSpec(cenv cenv, env env, ModuleOrNamespaceBinding mbind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2788 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 + at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckImplFile(TcGlobals g, ImportMap amap, Boolean reportErrors, InfoReader infoReader, FSharpList`1 internalsVisibleToPaths, CcuThunk viewCcu, FSharpFunc`2 tcValF, DisplayEnv denv, ModuleOrNamespaceType implFileTy, ModuleOrNamespaceContents implFileContents, FSharpList`1 extraAttribs, Tuple`2 isLastCompiland, Boolean isInternalTestSpanStackReferring) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2857 + at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6352-10.Invoke(Unit unitVar0) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6363 + at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6258-1.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6282 + at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1524-12.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1524 + at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1446-14.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1446 + at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 + at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) + at System.Diagnostics.Debug.Fail(String message, String detailMessage) + at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 + at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 + at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 + at FSharp.Compiler.DiagnosticsLogger.CommitDelayedDiagnostics@414.Invoke(PhasedDiagnostic diagnostic) + at FSharp.Compiler.DiagnosticsLogger.CapturingDiagnosticsLogger.CommitDelayedDiagnostics(DiagnosticsLogger diagnosticsLogger) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 414 + at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 739 + at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 732 + at FSharp.Compiler.ParseAndCheckInputs.CheckMultipleInputsUsingGraphMode[a](a _arg1_0, FSharpFunc`2 _arg1_1, TcConfig _arg1_2, TcImports _arg1_3, TcGlobals _arg1_4, FSharpOption`1 _arg1_5, TcState _arg1_6, FSharpFunc`2 _arg1_7, FSharpList`1 _arg1_8) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1845 + at FSharp.Compiler.ParseAndCheckInputs.CheckClosedInputSet(CompilationThreadToken ctok, FSharpFunc`2 checkForErrors, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, FSharpOption`1 prefixPathOpt, TcState tcState, FSharpFunc`2 eagerFormat, FSharpList`1 inputs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1881 + at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 153 + at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 + at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) + at System.Diagnostics.Debug.Fail(String message, String detailMessage) + at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 + at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 + at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 + at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 504 + at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 600 + at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 165 + at FSharp.Compiler.Driver.main1(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider diagnosticsLoggerProvider, DisposablesTracker disposables) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 672 + at FSharp.Compiler.Driver.CompileFromCommandLineArguments(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider loggerProvider, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 1239 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.result@71.Invoke(StopProcessingExiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 72 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 58 + at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) + at System.Diagnostics.Debug.Fail(String message, String detailMessage) + at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:2109 + at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:2119 + at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:233 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:36 + at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:504 + at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.StopProcessingRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:519 + at FSharp.Compiler.DiagnosticsLogger.stopProcessingRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:603 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:61 + at FSharp.Compiler.CodeAnalysis.CompileHelpers.compileFromArgs(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:70 + at .$Service.Compile@328.Invoke(Unit unitVar) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:329 + at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\async.fs:509 + at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\async.fs:112 + --- End of stack trace from previous location --- + at FSharp.Test.Utilities.Async.RunSynchronouslyImmediate.Static[T](FSharpAsync`1 computation, FSharpOption`1 cancellationToken) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Utilities.fs:80 + at FSharp.Test.CompilerAssertHelpers.rawCompile(String outputFilePath, Boolean isExe, IEnumerable`1 options, TargetFramework targetFramework, FSharpList`1 sources) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:472 + at FSharp.Test.CompilerAssertHelpers.compileDisposable(DirectoryInfo outputDirectory, Boolean isExe, IEnumerable`1 options, TargetFramework targetFramework, FSharpOption`1 nameOpt, FSharpList`1 sources) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:500 + at FSharp.Test.CompilerAssertHelpers.compileCompilationAux(DirectoryInfo outputDirectory, Boolean ignoreWarnings, Compilation cmpl) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:570 + at FSharp.Test.CompilerAssertHelpers.returnCompilation(Compilation cmpl, Boolean ignoreWarnings) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:627 + at FSharp.Test.CompilerAssert.CompileRaw(Compilation cmpl, FSharpOption`1 ignoreWarnings) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:736 + at FSharp.Test.Compiler.compileFSharpCompilation(Compilation compilation, Boolean ignoreWarnings, CompilationUnit cUnit) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:863 + at FSharp.Test.Compiler.compileFSharp(FSharpCompilationSource fs) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:899 + at FSharp.Test.Compiler.compile(CompilationUnit cUnit) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:980 + at Language.CodeQuotationsTests.ReflectedDefinition parameter with recursive append shape compiles - issue 20379() in Q:\fsharp-worktrees\issue-767\tests\FSharp.Compiler.ComponentTests\Language\CodeQuotationTests.fs:243 + at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) + at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr) +Q:\fsharp-worktrees\issue-767\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net11.0\FSharp.Compiler.ComponentTests.dll (net11.0|x64) failed with 3 error(s) [+6/x3/?0] (11s 043ms) +Exit code: 2 + Standard output: xUnit.net v3 Microsoft.Testing.Platform v2 Runner v3.2.2+728c1dce01 (64-bit .NET 11.0.0-rc.1.26420.103) + + Server GC enabled: True + --------------------------------------------------------------- + Executables + + CSC = Q:\\.tools\.nuget\packages\Microsoft.Net.Compilers\4.3.0-1.22220.8\tools\csc.exe + BUILD_CONFIG = Debug + csc_flags = /nologo + FSC = Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\..\..\artifacts\bin\fsc\Debug\net11.0\fsc.dll + fsc_flags = -r:System.Core.dll --nowarn:20 --define:COMPILED --preferreduilang:en-US + FSCOREDLLPATH = Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\..\..\artifacts\bin\FSharp.Core\Debug\netstandard2.0\FSharp.Core.dll + FSI = Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\..\..\artifacts\bin\fsi\Debug\net11.0\fsi.dll + DotNetExe = Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\..\..\.dotnet\dotnet.exe + DOTNET_MULTILEVEL_LOOKUP = + DOTNET_ROOT = + FSI_FOR_SCRIPTS = Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\..\..\artifacts\bin\fsi\Debug\net11.0\fsi.dll + fsi_flags = -r:System.Core.dll --nowarn:20 --define:INTERACTIVE --maxerrors:1 --abortonerror --preferreduilang:en-US + ILDASM = Q:\\.tools\.nuget\packages\runtime.win-x64.Microsoft.NETCore.ILDAsm\5.0.0-preview.7.20364.11\runtimes\win-x64\native\ildasm.exe + PEVERIFY = ilverify + --------------------------------------------------------------- + +Test run summary: Failed! + total: 9 + failed: 3 + succeeded: 6 + skipped: 0 + duration: 11s 349ms +Test run completed with non-success exit code: 2 (see: https://aka.ms/testingplatform/exitcodes) diff --git a/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs index 07ba21f7b5c..d17995d074c 100644 --- a/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs @@ -200,4 +200,83 @@ printfn "Both F# record field orderings produce equivalent results" |> asExe |> withLangVersionPreview |> compileAndRun + |> shouldSucceed + + // https://github.com/dotnet/fsharp/issues/20379 + // [] on a parameter + inferred generic recursion must not ICE (FS0192 Iterate2D). + [] + let ``ReflectedDefinition parameter with inferred generic recursion compiles - issue 20379`` () = + FSharp """ +module Test20379 + +open Microsoft.FSharp.Quotations + +type Capture = + static member Run([] body: Expr int>) = 0 + +let rec loop x = + Capture.Run(fun n -> loop x) + """ + |> asLibrary + |> compile + |> shouldSucceed + + // https://github.com/dotnet/fsharp/issues/20379 + // Original attachment's essential 'append' shape: inferred generic recursion under an auto-quoted parameter. + [] + let ``ReflectedDefinition parameter with recursive append shape compiles - issue 20379`` () = + FSharp """ +module Test20379Append + +open Microsoft.FSharp.Quotations + +type Capture = + static member Run([] body: Expr<'T list -> 'T list>) : 'T list = [] + +let rec append xs ys = + Capture.Run(fun zs -> + match xs with + | [] -> ys + | h :: t -> h :: append t ys) + """ + |> asLibrary + |> compile + |> shouldSucceed + + // https://github.com/dotnet/fsharp/issues/20379 + // Runtime seed: inferred two-parameter generic recursion must preserve exact generic-argument order, + // and the auto-quoted definition must agree with the executed value. + [] + let ``ReflectedDefinition parameter preserves generic argument order at runtime - issue 20379`` () = + Fsx """ +open Microsoft.FSharp.Quotations +open Microsoft.FSharp.Quotations.Patterns +open Microsoft.FSharp.Linq.RuntimeHelpers + +let mutable captured: Expr option = None + +type Capture = + static member Run([] body: Expr int>) = + captured <- Some body + 7 + +let rec loop x y = + Capture.Run(fun n -> if n = 0 then 7 else loop x y) + +let check<'T, 'U> (x: 'T) (y: 'U) = + if loop x y <> 7 then failwith "Unexpected result" + match captured with + | Some(WithValue(value, _, (Lambda(v, IfThenElse(_, _, Call(None, method, [_; _]))) as definition))) -> + if v.Name <> "n" then failwith "Lambda parameter changed" + if method.GetGenericArguments() <> [|typeof<'T>; typeof<'U>|] then failwith "Incorrect generic arguments" + let actual = unbox int> value + let reflected = LeafExpressionConverter.EvaluateQuotation definition |> unbox int> + if actual 1 <> 7 || reflected 1 <> 7 then failwith "Value and quotation disagree" + | expression -> failwithf "Unexpected quotation: %A" expression + +check 42 "text" +check "text" 42 + """ + |> asExe + |> compileAndRun |> shouldSucceed \ No newline at end of file From f59a94d81ac78aae13a0cf71695dcd184ac6ef26 Mon Sep 17 00:00:00 2001 From: Copilot Date: Tue, 8 Sep 2026 11:22:37 +0200 Subject: [PATCH 2/5] Fix FS0192 Iterate2D on auto-quoted recursive-value use (issue #20379) A [] parameter auto-quotes its argument via Expr.WithValue (mkCallLiftValueWithDefn), which copies the argument with copyExpr. copyExpr inlines Expr.Link fixup nodes at copy time, so a use of an inferred generically-recursive function captured in the argument was snapshotted before AdjustAndForgetUsesOfRecValue inserted the generalized type arguments at the letrec point. The detached snapshot kept zero type arguments while the value had formal typars, so GetWitnessArgs' Iterate2D zip failed with FS0192. The auto-quote copy now uses copyExprKeepingRecursiveValLinks, which keeps a fresh Expr.Link pointing at the original recursive-use fixup node (only for values still in their letrec scope) so the quoted copy receives the same inferred type arguments as the executable expression. Both Quote true and Quote false conversions are unaffected for non-recursive uses, and FS1230 for inner generic functions in quotations still fires. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../.FSharp.Compiler.Service/11.0.100.md | 1 + .../TypedTree/TypedTreeOps.ExprOps.fs | 2 +- .../TypedTree/TypedTreeOps.Remapping.fs | 57 ++++++++++++++++++- .../TypedTree/TypedTreeOps.Remapping.fsi | 5 ++ 4 files changed, 61 insertions(+), 4 deletions(-) diff --git a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md index ed1e382d6c7..f30157e9921 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md +++ b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md @@ -1,5 +1,6 @@ ### Fixed +* Fix internal error FS0192 "Iterate2D" when a `[]` parameter auto-quotes an argument that captures a not-yet-generalized use of an inferred generically-recursive function. The auto-quoted (`Expr.WithValue`) copy now keeps a fresh link to the recursive-value use so it receives the same inferred type arguments as the executable expression at the letrec point. ([Issue #20379](https://github.com/dotnet/fsharp/issues/20379)) * Fix `NativePtr.stackalloc` nested in a larger expression (e.g. a call argument or the right of an assignment) producing an assembly that throws `InvalidProgramException` at load. ([Issue #8083](https://github.com/dotnet/fsharp/issues/8083), [PR #20302](https://github.com/dotnet/fsharp/pull/20302)) * Fix internal error "Unexpected generalized type variables when compiling an active pattern" when an active pattern is used in a `let` binding whose right-hand side is a generic value, e.g. `let (T) = id`. Such a binding is now checked like the equivalent `match` and is not generalized. ([Issue #16856](https://github.com/dotnet/fsharp/issues/16856), [PR #20383](https://github.com/dotnet/fsharp/pull/20383)) * Fix Release-only (`--optimize+`) `System.InvalidProgramException` from `Seq.collect` / `yield!` over a value-type (struct) collection implementing `seq<'T>` (e.g. `ImmutableArray<_>`) when materialised with `List.ofSeq` / `Seq.toList` / `Seq.toArray` or a list/array comprehension. The collector lowering now boxes a struct sub-collection to `seq<'T>` before calling `AddMany`/`AddManyAndClose` (matching the coercion the type checker already inserts for `yield!`), and uses `unit` as the try/finally result type instead of the body type (removing a spurious `ldnull` store). ([Issue #20203](https://github.com/dotnet/fsharp/issues/20203)) diff --git a/src/Compiler/TypedTree/TypedTreeOps.ExprOps.fs b/src/Compiler/TypedTree/TypedTreeOps.ExprOps.fs index 3c00c0ee66d..b4289eae422 100644 --- a/src/Compiler/TypedTree/TypedTreeOps.ExprOps.fs +++ b/src/Compiler/TypedTree/TypedTreeOps.ExprOps.fs @@ -1491,7 +1491,7 @@ module internal Makers = // Use "Expr.WithValue" if it exists in FSharp.Core match vref.TryDeref with | ValueSome _ -> - let copyOfExpr = copyExpr g ValCopyFlag.CloneAll e1 + let copyOfExpr = copyExprKeepingRecursiveValLinks g ValCopyFlag.CloneAll e1 let quoteOfCopyOfExpr = Expr.Quote(copyOfExpr, ref None, false, m, qty) mkApps diff --git a/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs b/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs index 92d440d6f6d..3d968731936 100644 --- a/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs +++ b/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs @@ -1654,9 +1654,33 @@ module internal ExprRemapping = tps', tmenvinner type RemapContext = - { g: TcGlobals; stackGuard: StackGuard } + { + g: TcGlobals + stackGuard: StackGuard + // When set, an Expr.Link that refers to a recursive value still in its letrec scope is copied as a + // fresh link that keeps pointing at the original fixup node, rather than being inlined at copy time. + // This lets an auto-quoted (WithValue) copy of a recursive-value use receive the inferred type + // arguments that AdjustAndForgetUsesOfRecValue inserts at the letrec point. See issue #20379. + keepRecursiveValLinks: bool + } - let mkRemapContext g stackGuard = { g = g; stackGuard = stackGuard } + let mkRemapContext g stackGuard = + { + g = g + stackGuard = stackGuard + keepRecursiveValLinks = false + } + + /// Detect an Expr.Link that stands for a use of a recursive value which is still within its letrec scope + /// (and will therefore be fixed up by AdjustAndForgetUsesOfRecValue once type arguments are inferred). + let isRecursiveValFixupLink (eref: Expr ref) = + match stripDebugPoints eref.Value with + | Expr.Val(vref, _, _) + | Expr.App(Expr.Val(vref, _, _), _, _, _, _) -> + match vref.RecursiveValInfo with + | ValInRecScope _ -> true + | ValNotInRecScope -> false + | _ -> false let rec remapAttribImpl ctxt tmenv (Attrib(tcref, kind, args, props, isGetOrSetAttr, targets, m)) = Attrib( @@ -1862,7 +1886,14 @@ module internal ExprRemapping = | Expr.App(e1, e1ty, tyargs, args, m) -> remapAppExpr ctxt compgen tmenv (e1, e1ty, tyargs, args, m) expr - | Expr.Link eref -> remapExprImpl ctxt compgen tmenv eref.Value + | Expr.Link eref -> + if ctxt.keepRecursiveValLinks && isRecursiveValFixupLink eref then + // Keep a fresh link that still points at the original recursive-use fixup node so the + // quoted copy also receives the inferred type arguments inserted later at the letrec point, + // instead of snapshotting the not-yet-generalized value. See issue #20379. + Expr.Link(ref (Expr.Link eref)) + else + remapExprImpl ctxt compgen tmenv eref.Value | Expr.StaticOptimization(cs, e2, e3, m) -> // note that type instantiation typically resolve the static constraints here @@ -2445,6 +2476,7 @@ module internal ExprRemapping = { g = g stackGuard = StackGuard("RemapExprStackGuardDepth") + keepRecursiveValLinks = false } remapAttribImpl ctxt tmenv attrib @@ -2454,6 +2486,7 @@ module internal ExprRemapping = { g = g stackGuard = StackGuard("RemapExprStackGuardDepth") + keepRecursiveValLinks = false } remapExprImpl ctxt compgen tmenv expr @@ -2463,6 +2496,7 @@ module internal ExprRemapping = { g = g stackGuard = StackGuard("RemapExprStackGuardDepth") + keepRecursiveValLinks = false } remapPossibleForallTyImpl ctxt tmenv ty @@ -2472,6 +2506,7 @@ module internal ExprRemapping = { g = g stackGuard = StackGuard("RemapExprStackGuardDepth") + keepRecursiveValLinks = false } copyAndRemapAndBindModTy ctxt compgen Remap.Empty mtyp |> fst @@ -2481,6 +2516,20 @@ module internal ExprRemapping = { g = g stackGuard = StackGuard("RemapExprStackGuardDepth") + keepRecursiveValLinks = false + } + + remapExprImpl ctxt compgen Remap.Empty e + + /// Copy an expression for use as the definition inside an auto-quotation (Expr.WithValue), keeping fresh + /// links to any recursive-value uses that are still within their letrec scope so the copy also receives + /// the inferred type arguments applied later by AdjustAndForgetUsesOfRecValue. See issue #20379. + let copyExprKeepingRecursiveValLinks g compgen e = + let ctxt = + { + g = g + stackGuard = StackGuard("RemapExprStackGuardDepth") + keepRecursiveValLinks = true } remapExprImpl ctxt compgen Remap.Empty e @@ -2490,6 +2539,7 @@ module internal ExprRemapping = { g = g stackGuard = StackGuard("RemapExprStackGuardDepth") + keepRecursiveValLinks = false } remapImplFile ctxt compgen Remap.Empty e |> fst @@ -2499,6 +2549,7 @@ module internal ExprRemapping = { g = g stackGuard = StackGuard("RemapExprStackGuardDepth") + keepRecursiveValLinks = false } remapExprImpl ctxt CloneAll (mkInstRemap tpinst) e diff --git a/src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi b/src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi index 5372d2a2511..8a4f1bd308b 100644 --- a/src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi +++ b/src/Compiler/TypedTree/TypedTreeOps.Remapping.fsi @@ -227,6 +227,11 @@ module internal ExprRemapping = /// Copy an entire expression using the given copying flags val copyExpr: TcGlobals -> ValCopyFlag -> Expr -> Expr + /// Copy an expression for use as the definition inside an auto-quotation (Expr.WithValue), keeping fresh + /// links to recursive-value uses still within their letrec scope so the copy also receives the inferred + /// type arguments applied later by AdjustAndForgetUsesOfRecValue. See issue #20379. + val copyExprKeepingRecursiveValLinks: TcGlobals -> ValCopyFlag -> Expr -> Expr + /// Copy an entire implementation file using the given copying flags val copyImplFile: TcGlobals -> ValCopyFlag -> CheckedImplFile -> CheckedImplFile From 6ca7603f8353db7b29e8030af44fcd6c8174e626 Mon Sep 17 00:00:00 2001 From: Copilot Date: Tue, 8 Sep 2026 11:56:34 +0200 Subject: [PATCH 3/5] Add coverage matrix for auto-quote inferred generic recursion - issue 20379 Broaden regression coverage for the FS0192 (Iterate2D) fix: mutual recursion, nested lambdas/captures/shadowing, static and instance attributed methods, cross-assembly attributed API, single-evaluation of the auto-quoted argument, controls (false-attribute/nonrecursive/ordinary/explicit-quotation/monomorphic/ explicit-generic), and preservation of FS1230 for inner generic functions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../Language/CodeQuotationTests.fs | 160 +++++++++++++++++- 1 file changed, 159 insertions(+), 1 deletion(-) diff --git a/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs index d17995d074c..41adc6920c5 100644 --- a/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs @@ -279,4 +279,162 @@ check "text" 42 """ |> asExe |> compileAndRun - |> shouldSucceed \ No newline at end of file + |> shouldSucceed + + // https://github.com/dotnet/fsharp/issues/20379 + [] + let ``Mutual inferred generic recursion under auto-quote compiles both directions - issue 20379`` () = + FSharp """ +module Test20379Mutual + +open Microsoft.FSharp.Quotations + +type Capture = + static member Run([] body: Expr int>) = 0 + +let rec ping x y = + Capture.Run(fun n -> pong x y) +and pong x y = + Capture.Run(fun n -> ping x y) + """ + |> asLibrary + |> compile + |> shouldSucceed + + // https://github.com/dotnet/fsharp/issues/20379 + [] + let ``Auto-quote with nested lambdas captured and shadowed names agrees value and quotation - issue 20379`` () = + Fsx """ +open Microsoft.FSharp.Quotations +open Microsoft.FSharp.Quotations.Patterns +open Microsoft.FSharp.Linq.RuntimeHelpers + +let mutable captured: Expr option = None + +type Capture = + static member Run([] body: Expr int>) = + captured <- Some body + 7 + +let rec loop x y = + let k = 3 + let rec helper (m: int) = if m <= 0 then k else helper (m - 1) + Capture.Run(fun n -> + let n = n + helper 2 + if n = 0 then 7 else loop x y) + +let check<'T, 'U> (x: 'T) (y: 'U) = + if loop x y <> 7 then failwith "Unexpected result" + match captured with + | Some(WithValue(value, _, definition)) -> + let actual = unbox int> value + let reflected = LeafExpressionConverter.EvaluateQuotation definition |> unbox int> + if actual 1 <> reflected 1 then failwith "Value and quotation disagree" + | expression -> failwithf "Unexpected quotation: %A" expression + +check 42 "text" + """ + |> asExe + |> compileAndRun + |> shouldSucceed + + // https://github.com/dotnet/fsharp/issues/20379 + [] + [] + [] + let ``Auto-quote inferred generic recursion works for static and instance methods - issue 20379`` (decl: string) (call: string) = + FSharp(sprintf """ +module Test20379Methods + +open Microsoft.FSharp.Quotations + +type Capture() = + %s ([] body: Expr int>) = 0 + +let rec loop x y = + %s(fun n -> if n = 0 then 7 else loop x y) + """ decl call) + |> asLibrary + |> compile + |> shouldSucceed + + // https://github.com/dotnet/fsharp/issues/20379 + [] + let ``Auto-quote inferred generic recursion works across an F# assembly boundary - issue 20379`` () = + let lib = + FSharp """ +namespace Api +open Microsoft.FSharp.Quotations +type Capture = + static member Run([] body: Expr int>) = 0 + """ + |> withName "Api20379" + |> asLibrary + + FSharp """ +module Consumer20379 +open Api +let rec loop x y = + Capture.Run(fun n -> if n = 0 then 7 else loop x y) + """ + |> withReferences [ lib ] + |> asLibrary + |> compile + |> shouldSucceed + + // https://github.com/dotnet/fsharp/issues/20379 + [] + let ``Auto-quoted argument is constructed exactly once - issue 20379`` () = + Fsx """ +open Microsoft.FSharp.Quotations + +let mutable constructions = 0 + +type Capture = + static member Run([] body: Expr int>) = 0 + +let makeBody () = + constructions <- constructions + 1 + (fun (n: int) -> n) + +let rec loop x y = + Capture.Run(makeBody ()) + +let _ = loop 1 2 +if constructions <> 1 then failwithf "Expected exactly one construction, got %d" constructions + """ + |> asExe + |> compileAndRun + |> shouldSucceed + + // https://github.com/dotnet/fsharp/issues/20379 - controls that must keep working + [] + [] body: Expr int>) = 0\nlet rec loop x y = Capture.Run(fun n -> if n = 0 then 7 else loop x y)")>] + [] body: Expr int>) = 0\nlet go x = Capture.Run(fun n -> n + 1)")>] + [ int) = 0\nlet rec loop x y = Capture.Run(fun n -> if n = 0 then 7 else loop x y)")>] + [ int>) = 0\nlet rec loop x y = Capture.Run(<@ fun n -> if n = 0 then 7 else loop x y @>)")>] + [] body: Expr int>) = 0\nlet rec loop (x: int) = Capture.Run(fun n -> if n = 0 then 7 else loop x)")>] + [] body: Expr int>) = 0\nlet rec loop<'T, 'U> (x: 'T) (y: 'U) = Capture.Run(fun n -> if n = 0 then 7 else loop x y)")>] + let ``Auto-quote controls keep compiling - issue 20379`` (_name: string) (body: string) = + FSharp(sprintf "module Test20379Controls\nopen Microsoft.FSharp.Quotations\n%s" body) + |> asLibrary + |> compile + |> shouldSucceed + + // https://github.com/dotnet/fsharp/issues/20379 - inner generic functions remain unsupported (FS1230), not an ICE + [] + let ``Inner generic function inside quotation remains FS1230 - issue 20379`` () = + FSharp """ +module Test20379InnerGeneric +open Microsoft.FSharp.Quotations +type Capture = + static member Run([] body: Expr int>) = 0 +let rec loop x y = + Capture.Run(fun n -> + let inline g (z: 'a) = z + if n = 0 then 7 else loop (g x) (g y)) + """ + |> asLibrary + |> compile + |> shouldFail + |> withErrorCode 1230 \ No newline at end of file From dc366360385cf24da5fe2bd806329ce19d6a5935 Mon Sep 17 00:00:00 2001 From: Copilot Date: Tue, 8 Sep 2026 12:41:05 +0200 Subject: [PATCH 4/5] Tighten recursive-val fixup link predicate to type-only apps (issue #20379) Expert-review hardening: isRecursiveValFixupLink now matches only the exact fixup shape Expr.App(Expr.Val _, _, _, [], _) with empty value args, matching what AdjustAndForgetUsesOfRecValue accepts. Strictly more precise; no behavior change for the sole Remap.Empty/CloneAll auto-quote caller. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/Compiler/TypedTree/TypedTreeOps.Remapping.fs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs b/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs index 3d968731936..00d44ac1c3a 100644 --- a/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs +++ b/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs @@ -1676,7 +1676,9 @@ module internal ExprRemapping = let isRecursiveValFixupLink (eref: Expr ref) = match stripDebugPoints eref.Value with | Expr.Val(vref, _, _) - | Expr.App(Expr.Val(vref, _, _), _, _, _, _) -> + // A recursive-use fixup node is always a type-only application with no value args (see mkTyAppExpr and + // the shape AdjustAndForgetUsesOfRecValue accepts), so match that exact shape. + | Expr.App(Expr.Val(vref, _, _), _, _, [], _) -> match vref.RecursiveValInfo with | ValInRecScope _ -> true | ValNotInRecScope -> false From 0f682463a3b9cabe5b9d3848546358290ed3a389 Mon Sep 17 00:00:00 2001 From: Copilot Date: Tue, 8 Sep 2026 14:23:34 +0200 Subject: [PATCH 5/5] Restrict recursive-val fixup link to function values (issue #20379) The isRecursiveValFixupLink predicate over-matched monomorphic recursive data values (lazy-initialized 'let rec'). Such a value's shared fixup node is re-mutated to a lazy 'Force' by EliminateInitializationGraphs, so keeping a link to it leaked a 'Force(ValueWithName ...)' node into the auto-quoted (WithValue) definition. Only function-valued recursive bindings benefit from link preservation and are bound as lambdas (never lazy-morphed), so restrict the predicate to values whose ValReprInfo has curried arguments. Adds a monomorphic-recursive-data-value regression test asserting no lazy Force leaks into the captured quotation. Also removes a stray committed red-evidence log artifact. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .tools/ralph/red-evidence-sprint01.txt | 689 ------------------ .../TypedTree/TypedTreeOps.Remapping.fs | 13 +- .../Language/CodeQuotationTests.fs | 44 +- 3 files changed, 53 insertions(+), 693 deletions(-) delete mode 100644 .tools/ralph/red-evidence-sprint01.txt diff --git a/.tools/ralph/red-evidence-sprint01.txt b/.tools/ralph/red-evidence-sprint01.txt deleted file mode 100644 index d535a16a8c5..00000000000 --- a/.tools/ralph/red-evidence-sprint01.txt +++ /dev/null @@ -1,689 +0,0 @@ -Running tests from Q:\fsharp-worktrees\issue-767\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net11.0\FSharp.Compiler.ComponentTests.dll (net11.0|x64) -failed Language.CodeQuotationsTests.ReflectedDefinition parameter preserves generic argument order at runtime - issue 20379 (408ms) - Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unexpected exception raised in compiler: Iterate2D -System.Exception: Iterate2D - at FSharp.Compiler.DiagnosticsLogger.Iterate2D[T,b](FSharpFunc`2 f, FSharpList`1 xs, FSharpList`1 ys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 746 - at FSharp.Compiler.ConstraintSolver.SolveTyparsEqualTypesAux(ConstraintSolverEnv csenv, Int32 ndeep, Range m2, OptionalTrace trace, FSharpList`1 tpTys, FSharpList`1 tys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 1248 - at FSharp.Compiler.ConstraintSolver.CodegenWitnessesForTyparInst(FSharpFunc`2 tcVal, TcGlobals g, ImportMap amap, Range m, FSharpList`1 typars, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 4467 - at FSharp.Compiler.QuotationTranslator.GetWitnessArgs(QuotationGenerationScope cenv, QuotationTranslationEnv env, Range m, FSharpList`1 tps, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 252 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 387 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 764 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1145 - at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1077 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 481 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 463 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprPublic(QuotationGenerationScope cenv, Boolean suppressWitnesses, Expr e) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1270 - at FSharp.Compiler.PostTypeCheckSemanticChecks.doData@1288.Invoke(Boolean suppressWitnesses) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1289 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckQuoteExpr(cenv cenv, env env, Expr ast, FSharpRef`1 savedConv, Range m, TType ty) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1294 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1213 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprPermitByRefLike(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1920 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1916@1916.Invoke(Expr expr) - at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 - at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 - at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprsPermitByRefLike(cenv cenv, env env, FSharpList`1 exprs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1916 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1235 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 - at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 - at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprLinear(cenv cenv, env env, Expr expr, PermitByRefExpr ctxt, FSharpFunc`2 contf) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1069 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1198 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprNoByrefs(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 824 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckLambdas(Boolean isTop, FSharpOption`1 memberVal, cenv cenv, env env, Boolean inlined, ValReprInfo valReprInfo, Boolean alwaysCheckNoReraise, Expr expr, Range mOrig, TType ety, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1865 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckBinding(cenv cenv, env env, Boolean alwaysCheckNoReraise, PermitByRefExpr ctxt, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2220 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleBinding(cenv cenv, env env, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2347 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleSpec(cenv cenv, env env, ModuleOrNamespaceBinding mbind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2788 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckImplFile(TcGlobals g, ImportMap amap, Boolean reportErrors, InfoReader infoReader, FSharpList`1 internalsVisibleToPaths, CcuThunk viewCcu, FSharpFunc`2 tcValF, DisplayEnv denv, ModuleOrNamespaceType implFileTy, ModuleOrNamespaceContents implFileContents, FSharpList`1 extraAttribs, Tuple`2 isLastCompiland, Boolean isInternalTestSpanStackReferring) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2857 - at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6352-10.Invoke(Unit unitVar0) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6363 - at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6258-1.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6282 - at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1524-12.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1524 - at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1446-14.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1446 - at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 - at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) - at System.Diagnostics.Debug.Fail(String message, String detailMessage) - at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 - at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 - at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 - at FSharp.Compiler.DiagnosticsLogger.CommitDelayedDiagnostics@414.Invoke(PhasedDiagnostic diagnostic) - at FSharp.Compiler.DiagnosticsLogger.CapturingDiagnosticsLogger.CommitDelayedDiagnostics(DiagnosticsLogger diagnosticsLogger) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 414 - at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 739 - at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 732 - at FSharp.Compiler.ParseAndCheckInputs.CheckMultipleInputsUsingGraphMode[a](a _arg1_0, FSharpFunc`2 _arg1_1, TcConfig _arg1_2, TcImports _arg1_3, TcGlobals _arg1_4, FSharpOption`1 _arg1_5, TcState _arg1_6, FSharpFunc`2 _arg1_7, FSharpList`1 _arg1_8) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1845 - at FSharp.Compiler.ParseAndCheckInputs.CheckClosedInputSet(CompilationThreadToken ctok, FSharpFunc`2 checkForErrors, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, FSharpOption`1 prefixPathOpt, TcState tcState, FSharpFunc`2 eagerFormat, FSharpList`1 inputs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1881 - at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 153 - at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 - at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) - at System.Diagnostics.Debug.Fail(String message, String detailMessage) - at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 - at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 - at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 - at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 504 - at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 600 - at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 165 - at FSharp.Compiler.Driver.main1(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider diagnosticsLoggerProvider, DisposablesTracker disposables) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 672 - at FSharp.Compiler.Driver.CompileFromCommandLineArguments(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider loggerProvider, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 1239 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.result@71.Invoke(StopProcessingExiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 72 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 58 - from Q:\fsharp-worktrees\issue-767\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net11.0\FSharp.Compiler.ComponentTests.dll (net11.0|x64) - Xunit.MicrosoftTestingPlatform.XunitException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unexpected exception raised in compiler: Iterate2D - System.Exception: Iterate2D - at FSharp.Compiler.DiagnosticsLogger.Iterate2D[T,b](FSharpFunc`2 f, FSharpList`1 xs, FSharpList`1 ys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 746 - at FSharp.Compiler.ConstraintSolver.SolveTyparsEqualTypesAux(ConstraintSolverEnv csenv, Int32 ndeep, Range m2, OptionalTrace trace, FSharpList`1 tpTys, FSharpList`1 tys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 1248 - at FSharp.Compiler.ConstraintSolver.CodegenWitnessesForTyparInst(FSharpFunc`2 tcVal, TcGlobals g, ImportMap amap, Range m, FSharpList`1 typars, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 4467 - at FSharp.Compiler.QuotationTranslator.GetWitnessArgs(QuotationGenerationScope cenv, QuotationTranslationEnv env, Range m, FSharpList`1 tps, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 252 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 387 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 764 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1145 - at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1077 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 481 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 463 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprPublic(QuotationGenerationScope cenv, Boolean suppressWitnesses, Expr e) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1270 - at FSharp.Compiler.PostTypeCheckSemanticChecks.doData@1288.Invoke(Boolean suppressWitnesses) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1289 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckQuoteExpr(cenv cenv, env env, Expr ast, FSharpRef`1 savedConv, Range m, TType ty) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1294 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1213 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprPermitByRefLike(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1920 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1916@1916.Invoke(Expr expr) - at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 - at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 - at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprsPermitByRefLike(cenv cenv, env env, FSharpList`1 exprs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1916 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1235 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 - at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 - at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprLinear(cenv cenv, env env, Expr expr, PermitByRefExpr ctxt, FSharpFunc`2 contf) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1069 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1198 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprNoByrefs(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 824 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckLambdas(Boolean isTop, FSharpOption`1 memberVal, cenv cenv, env env, Boolean inlined, ValReprInfo valReprInfo, Boolean alwaysCheckNoReraise, Expr expr, Range mOrig, TType ety, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1865 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckBinding(cenv cenv, env env, Boolean alwaysCheckNoReraise, PermitByRefExpr ctxt, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2220 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleBinding(cenv cenv, env env, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2347 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleSpec(cenv cenv, env env, ModuleOrNamespaceBinding mbind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2788 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckImplFile(TcGlobals g, ImportMap amap, Boolean reportErrors, InfoReader infoReader, FSharpList`1 internalsVisibleToPaths, CcuThunk viewCcu, FSharpFunc`2 tcValF, DisplayEnv denv, ModuleOrNamespaceType implFileTy, ModuleOrNamespaceContents implFileContents, FSharpList`1 extraAttribs, Tuple`2 isLastCompiland, Boolean isInternalTestSpanStackReferring) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2857 - at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6352-10.Invoke(Unit unitVar0) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6363 - at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6258-1.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6282 - at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1524-12.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1524 - at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1446-14.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1446 - at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 - at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) - at System.Diagnostics.Debug.Fail(String message, String detailMessage) - at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 - at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 - at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 - at FSharp.Compiler.DiagnosticsLogger.CommitDelayedDiagnostics@414.Invoke(PhasedDiagnostic diagnostic) - at FSharp.Compiler.DiagnosticsLogger.CapturingDiagnosticsLogger.CommitDelayedDiagnostics(DiagnosticsLogger diagnosticsLogger) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 414 - at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 739 - at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 732 - at FSharp.Compiler.ParseAndCheckInputs.CheckMultipleInputsUsingGraphMode[a](a _arg1_0, FSharpFunc`2 _arg1_1, TcConfig _arg1_2, TcImports _arg1_3, TcGlobals _arg1_4, FSharpOption`1 _arg1_5, TcState _arg1_6, FSharpFunc`2 _arg1_7, FSharpList`1 _arg1_8) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1845 - at FSharp.Compiler.ParseAndCheckInputs.CheckClosedInputSet(CompilationThreadToken ctok, FSharpFunc`2 checkForErrors, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, FSharpOption`1 prefixPathOpt, TcState tcState, FSharpFunc`2 eagerFormat, FSharpList`1 inputs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1881 - at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 153 - at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 - at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) - at System.Diagnostics.Debug.Fail(String message, String detailMessage) - at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 - at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 - at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 - at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 504 - at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 600 - at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 165 - at FSharp.Compiler.Driver.main1(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider diagnosticsLoggerProvider, DisposablesTracker disposables) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 672 - at FSharp.Compiler.Driver.CompileFromCommandLineArguments(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider loggerProvider, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 1239 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.result@71.Invoke(StopProcessingExiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 72 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 58 - at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) - at System.Diagnostics.Debug.Fail(String message, String detailMessage) - at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:2109 - at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:2119 - at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:233 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:36 - at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:504 - at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.StopProcessingRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:519 - at FSharp.Compiler.DiagnosticsLogger.stopProcessingRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:603 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:61 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.compileFromArgs(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:70 - at .$Service.Compile@328.Invoke(Unit unitVar) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:329 - at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\async.fs:509 - at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\async.fs:112 - --- End of stack trace from previous location --- - at FSharp.Test.Utilities.Async.RunSynchronouslyImmediate.Static[T](FSharpAsync`1 computation, FSharpOption`1 cancellationToken) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Utilities.fs:80 - at FSharp.Test.CompilerAssertHelpers.rawCompile(String outputFilePath, Boolean isExe, IEnumerable`1 options, TargetFramework targetFramework, FSharpList`1 sources) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:472 - at FSharp.Test.CompilerAssertHelpers.compileDisposable(DirectoryInfo outputDirectory, Boolean isExe, IEnumerable`1 options, TargetFramework targetFramework, FSharpOption`1 nameOpt, FSharpList`1 sources) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:500 - at FSharp.Test.CompilerAssertHelpers.compileCompilationAux(DirectoryInfo outputDirectory, Boolean ignoreWarnings, Compilation cmpl) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:570 - at FSharp.Test.CompilerAssertHelpers.returnCompilation(Compilation cmpl, Boolean ignoreWarnings) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:627 - at FSharp.Test.CompilerAssert.CompileRaw(Compilation cmpl, FSharpOption`1 ignoreWarnings) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:736 - at FSharp.Test.Compiler.compileFSharpCompilation(Compilation compilation, Boolean ignoreWarnings, CompilationUnit cUnit) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:863 - at FSharp.Test.Compiler.compileFSharp(FSharpCompilationSource fs) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:899 - at FSharp.Test.Compiler.compile(CompilationUnit cUnit) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:980 - at FSharp.Test.Compiler.compileAndRun@1156.Invoke(CompilationUnit cUnit) - at FSharp.Test.Compiler.compileAndRun@1156-2.Invoke(CompilationUnit x) - at Language.CodeQuotationsTests.ReflectedDefinition parameter preserves generic argument order at runtime - issue 20379() in Q:\fsharp-worktrees\issue-767\tests\FSharp.Compiler.ComponentTests\Language\CodeQuotationTests.fs:281 - at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) - at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr) -failed Language.CodeQuotationsTests.ReflectedDefinition parameter with inferred generic recursion compiles - issue 20379 (231ms) - Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unexpected exception raised in compiler: Iterate2D -System.Exception: Iterate2D - at FSharp.Compiler.DiagnosticsLogger.Iterate2D[T,b](FSharpFunc`2 f, FSharpList`1 xs, FSharpList`1 ys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 746 - at FSharp.Compiler.ConstraintSolver.SolveTyparsEqualTypesAux(ConstraintSolverEnv csenv, Int32 ndeep, Range m2, OptionalTrace trace, FSharpList`1 tpTys, FSharpList`1 tys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 1248 - at FSharp.Compiler.ConstraintSolver.CodegenWitnessesForTyparInst(FSharpFunc`2 tcVal, TcGlobals g, ImportMap amap, Range m, FSharpList`1 typars, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 4467 - at FSharp.Compiler.QuotationTranslator.GetWitnessArgs(QuotationGenerationScope cenv, QuotationTranslationEnv env, Range m, FSharpList`1 tps, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 252 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 387 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 764 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 463 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprPublic(QuotationGenerationScope cenv, Boolean suppressWitnesses, Expr e) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1270 - at FSharp.Compiler.PostTypeCheckSemanticChecks.doData@1288.Invoke(Boolean suppressWitnesses) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1289 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckQuoteExpr(cenv cenv, env env, Expr ast, FSharpRef`1 savedConv, Range m, TType ty) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1294 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1213 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprPermitByRefLike(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1920 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1916@1916.Invoke(Expr expr) - at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 - at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 - at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprsPermitByRefLike(cenv cenv, env env, FSharpList`1 exprs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1916 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1235 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 - at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 - at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprLinear(cenv cenv, env env, Expr expr, PermitByRefExpr ctxt, FSharpFunc`2 contf) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1069 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1198 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprNoByrefs(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 824 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckLambdas(Boolean isTop, FSharpOption`1 memberVal, cenv cenv, env env, Boolean inlined, ValReprInfo valReprInfo, Boolean alwaysCheckNoReraise, Expr expr, Range mOrig, TType ety, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1865 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckBinding(cenv cenv, env env, Boolean alwaysCheckNoReraise, PermitByRefExpr ctxt, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2220 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleBinding(cenv cenv, env env, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2347 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleSpec(cenv cenv, env env, ModuleOrNamespaceBinding mbind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2788 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckImplFile(TcGlobals g, ImportMap amap, Boolean reportErrors, InfoReader infoReader, FSharpList`1 internalsVisibleToPaths, CcuThunk viewCcu, FSharpFunc`2 tcValF, DisplayEnv denv, ModuleOrNamespaceType implFileTy, ModuleOrNamespaceContents implFileContents, FSharpList`1 extraAttribs, Tuple`2 isLastCompiland, Boolean isInternalTestSpanStackReferring) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2857 - at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6352-10.Invoke(Unit unitVar0) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6363 - at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6258-1.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6282 - at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1524-12.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1524 - at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1446-14.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1446 - at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 - at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) - at System.Diagnostics.Debug.Fail(String message, String detailMessage) - at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 - at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 - at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 - at FSharp.Compiler.DiagnosticsLogger.CommitDelayedDiagnostics@414.Invoke(PhasedDiagnostic diagnostic) - at FSharp.Compiler.DiagnosticsLogger.CapturingDiagnosticsLogger.CommitDelayedDiagnostics(DiagnosticsLogger diagnosticsLogger) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 414 - at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 739 - at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 732 - at FSharp.Compiler.ParseAndCheckInputs.CheckMultipleInputsUsingGraphMode[a](a _arg1_0, FSharpFunc`2 _arg1_1, TcConfig _arg1_2, TcImports _arg1_3, TcGlobals _arg1_4, FSharpOption`1 _arg1_5, TcState _arg1_6, FSharpFunc`2 _arg1_7, FSharpList`1 _arg1_8) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1845 - at FSharp.Compiler.ParseAndCheckInputs.CheckClosedInputSet(CompilationThreadToken ctok, FSharpFunc`2 checkForErrors, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, FSharpOption`1 prefixPathOpt, TcState tcState, FSharpFunc`2 eagerFormat, FSharpList`1 inputs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1881 - at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 153 - at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 - at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) - at System.Diagnostics.Debug.Fail(String message, String detailMessage) - at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 - at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 - at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 - at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 504 - at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 600 - at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 165 - at FSharp.Compiler.Driver.main1(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider diagnosticsLoggerProvider, DisposablesTracker disposables) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 672 - at FSharp.Compiler.Driver.CompileFromCommandLineArguments(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider loggerProvider, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 1239 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.result@71.Invoke(StopProcessingExiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 72 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 58 - from Q:\fsharp-worktrees\issue-767\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net11.0\FSharp.Compiler.ComponentTests.dll (net11.0|x64) - Xunit.MicrosoftTestingPlatform.XunitException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unexpected exception raised in compiler: Iterate2D - System.Exception: Iterate2D - at FSharp.Compiler.DiagnosticsLogger.Iterate2D[T,b](FSharpFunc`2 f, FSharpList`1 xs, FSharpList`1 ys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 746 - at FSharp.Compiler.ConstraintSolver.SolveTyparsEqualTypesAux(ConstraintSolverEnv csenv, Int32 ndeep, Range m2, OptionalTrace trace, FSharpList`1 tpTys, FSharpList`1 tys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 1248 - at FSharp.Compiler.ConstraintSolver.CodegenWitnessesForTyparInst(FSharpFunc`2 tcVal, TcGlobals g, ImportMap amap, Range m, FSharpList`1 typars, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 4467 - at FSharp.Compiler.QuotationTranslator.GetWitnessArgs(QuotationGenerationScope cenv, QuotationTranslationEnv env, Range m, FSharpList`1 tps, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 252 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 387 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 764 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 463 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprPublic(QuotationGenerationScope cenv, Boolean suppressWitnesses, Expr e) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1270 - at FSharp.Compiler.PostTypeCheckSemanticChecks.doData@1288.Invoke(Boolean suppressWitnesses) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1289 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckQuoteExpr(cenv cenv, env env, Expr ast, FSharpRef`1 savedConv, Range m, TType ty) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1294 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1213 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprPermitByRefLike(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1920 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1916@1916.Invoke(Expr expr) - at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 - at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 - at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprsPermitByRefLike(cenv cenv, env env, FSharpList`1 exprs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1916 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1235 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 - at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 - at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprLinear(cenv cenv, env env, Expr expr, PermitByRefExpr ctxt, FSharpFunc`2 contf) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1069 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1198 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprNoByrefs(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 824 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckLambdas(Boolean isTop, FSharpOption`1 memberVal, cenv cenv, env env, Boolean inlined, ValReprInfo valReprInfo, Boolean alwaysCheckNoReraise, Expr expr, Range mOrig, TType ety, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1865 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckBinding(cenv cenv, env env, Boolean alwaysCheckNoReraise, PermitByRefExpr ctxt, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2220 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleBinding(cenv cenv, env env, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2347 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleSpec(cenv cenv, env env, ModuleOrNamespaceBinding mbind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2788 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckImplFile(TcGlobals g, ImportMap amap, Boolean reportErrors, InfoReader infoReader, FSharpList`1 internalsVisibleToPaths, CcuThunk viewCcu, FSharpFunc`2 tcValF, DisplayEnv denv, ModuleOrNamespaceType implFileTy, ModuleOrNamespaceContents implFileContents, FSharpList`1 extraAttribs, Tuple`2 isLastCompiland, Boolean isInternalTestSpanStackReferring) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2857 - at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6352-10.Invoke(Unit unitVar0) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6363 - at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6258-1.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6282 - at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1524-12.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1524 - at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1446-14.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1446 - at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 - at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) - at System.Diagnostics.Debug.Fail(String message, String detailMessage) - at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 - at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 - at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 - at FSharp.Compiler.DiagnosticsLogger.CommitDelayedDiagnostics@414.Invoke(PhasedDiagnostic diagnostic) - at FSharp.Compiler.DiagnosticsLogger.CapturingDiagnosticsLogger.CommitDelayedDiagnostics(DiagnosticsLogger diagnosticsLogger) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 414 - at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 739 - at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 732 - at FSharp.Compiler.ParseAndCheckInputs.CheckMultipleInputsUsingGraphMode[a](a _arg1_0, FSharpFunc`2 _arg1_1, TcConfig _arg1_2, TcImports _arg1_3, TcGlobals _arg1_4, FSharpOption`1 _arg1_5, TcState _arg1_6, FSharpFunc`2 _arg1_7, FSharpList`1 _arg1_8) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1845 - at FSharp.Compiler.ParseAndCheckInputs.CheckClosedInputSet(CompilationThreadToken ctok, FSharpFunc`2 checkForErrors, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, FSharpOption`1 prefixPathOpt, TcState tcState, FSharpFunc`2 eagerFormat, FSharpList`1 inputs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1881 - at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 153 - at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 - at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) - at System.Diagnostics.Debug.Fail(String message, String detailMessage) - at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 - at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 - at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 - at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 504 - at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 600 - at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 165 - at FSharp.Compiler.Driver.main1(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider diagnosticsLoggerProvider, DisposablesTracker disposables) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 672 - at FSharp.Compiler.Driver.CompileFromCommandLineArguments(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider loggerProvider, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 1239 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.result@71.Invoke(StopProcessingExiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 72 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 58 - at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) - at System.Diagnostics.Debug.Fail(String message, String detailMessage) - at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:2109 - at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:2119 - at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:233 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:36 - at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:504 - at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.StopProcessingRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:519 - at FSharp.Compiler.DiagnosticsLogger.stopProcessingRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:603 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:61 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.compileFromArgs(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:70 - at .$Service.Compile@328.Invoke(Unit unitVar) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:329 - at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\async.fs:509 - at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\async.fs:112 - --- End of stack trace from previous location --- - at FSharp.Test.Utilities.Async.RunSynchronouslyImmediate.Static[T](FSharpAsync`1 computation, FSharpOption`1 cancellationToken) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Utilities.fs:80 - at FSharp.Test.CompilerAssertHelpers.rawCompile(String outputFilePath, Boolean isExe, IEnumerable`1 options, TargetFramework targetFramework, FSharpList`1 sources) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:472 - at FSharp.Test.CompilerAssertHelpers.compileDisposable(DirectoryInfo outputDirectory, Boolean isExe, IEnumerable`1 options, TargetFramework targetFramework, FSharpOption`1 nameOpt, FSharpList`1 sources) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:500 - at FSharp.Test.CompilerAssertHelpers.compileCompilationAux(DirectoryInfo outputDirectory, Boolean ignoreWarnings, Compilation cmpl) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:570 - at FSharp.Test.CompilerAssertHelpers.returnCompilation(Compilation cmpl, Boolean ignoreWarnings) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:627 - at FSharp.Test.CompilerAssert.CompileRaw(Compilation cmpl, FSharpOption`1 ignoreWarnings) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:736 - at FSharp.Test.Compiler.compileFSharpCompilation(Compilation compilation, Boolean ignoreWarnings, CompilationUnit cUnit) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:863 - at FSharp.Test.Compiler.compileFSharp(FSharpCompilationSource fs) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:899 - at FSharp.Test.Compiler.compile(CompilationUnit cUnit) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:980 - at Language.CodeQuotationsTests.ReflectedDefinition parameter with inferred generic recursion compiles - issue 20379() in Q:\fsharp-worktrees\issue-767\tests\FSharp.Compiler.ComponentTests\Language\CodeQuotationTests.fs:221 - at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) - at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr) -failed Language.CodeQuotationsTests.ReflectedDefinition parameter with recursive append shape compiles - issue 20379 (172ms) - Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unexpected exception raised in compiler: Iterate2D -System.Exception: Iterate2D - at FSharp.Compiler.DiagnosticsLogger.Iterate2D[T,b](FSharpFunc`2 f, FSharpList`1 xs, FSharpList`1 ys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 746 - at FSharp.Compiler.ConstraintSolver.SolveTyparsEqualTypesAux(ConstraintSolverEnv csenv, Int32 ndeep, Range m2, OptionalTrace trace, FSharpList`1 tpTys, FSharpList`1 tys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 1248 - at FSharp.Compiler.ConstraintSolver.CodegenWitnessesForTyparInst(FSharpFunc`2 tcVal, TcGlobals g, ImportMap amap, Range m, FSharpList`1 typars, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 4467 - at FSharp.Compiler.QuotationTranslator.GetWitnessArgs(QuotationGenerationScope cenv, QuotationTranslationEnv env, Range m, FSharpList`1 tps, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 252 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 387 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprs@933.Invoke(Expr expr) - at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 - at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 - at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 512 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 764 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 450 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 450 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 449 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1145 - at FSharp.Compiler.QuotationTranslator.converted@1081.Invoke(DecisionTreeCase _arg1, ExprData acc) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1088 - at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1081 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 481 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 449 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 463 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprPublic(QuotationGenerationScope cenv, Boolean suppressWitnesses, Expr e) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1270 - at FSharp.Compiler.PostTypeCheckSemanticChecks.doData@1288.Invoke(Boolean suppressWitnesses) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1289 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckQuoteExpr(cenv cenv, env env, Expr ast, FSharpRef`1 savedConv, Range m, TType ty) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1294 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1213 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprPermitByRefLike(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1920 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1916@1916.Invoke(Expr expr) - at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 - at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 - at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprsPermitByRefLike(cenv cenv, env env, FSharpList`1 exprs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1916 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1235 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 - at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 - at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprLinear(cenv cenv, env env, Expr expr, PermitByRefExpr ctxt, FSharpFunc`2 contf) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1069 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1198 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprNoByrefs(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 824 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckLambdas(Boolean isTop, FSharpOption`1 memberVal, cenv cenv, env env, Boolean inlined, ValReprInfo valReprInfo, Boolean alwaysCheckNoReraise, Expr expr, Range mOrig, TType ety, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1865 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckBinding(cenv cenv, env env, Boolean alwaysCheckNoReraise, PermitByRefExpr ctxt, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2220 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleBinding(cenv cenv, env env, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2347 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleSpec(cenv cenv, env env, ModuleOrNamespaceBinding mbind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2788 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckImplFile(TcGlobals g, ImportMap amap, Boolean reportErrors, InfoReader infoReader, FSharpList`1 internalsVisibleToPaths, CcuThunk viewCcu, FSharpFunc`2 tcValF, DisplayEnv denv, ModuleOrNamespaceType implFileTy, ModuleOrNamespaceContents implFileContents, FSharpList`1 extraAttribs, Tuple`2 isLastCompiland, Boolean isInternalTestSpanStackReferring) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2857 - at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6352-10.Invoke(Unit unitVar0) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6363 - at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6258-1.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6282 - at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1524-12.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1524 - at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1446-14.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1446 - at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 - at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) - at System.Diagnostics.Debug.Fail(String message, String detailMessage) - at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 - at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 - at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 - at FSharp.Compiler.DiagnosticsLogger.CommitDelayedDiagnostics@414.Invoke(PhasedDiagnostic diagnostic) - at FSharp.Compiler.DiagnosticsLogger.CapturingDiagnosticsLogger.CommitDelayedDiagnostics(DiagnosticsLogger diagnosticsLogger) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 414 - at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 739 - at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 732 - at FSharp.Compiler.ParseAndCheckInputs.CheckMultipleInputsUsingGraphMode[a](a _arg1_0, FSharpFunc`2 _arg1_1, TcConfig _arg1_2, TcImports _arg1_3, TcGlobals _arg1_4, FSharpOption`1 _arg1_5, TcState _arg1_6, FSharpFunc`2 _arg1_7, FSharpList`1 _arg1_8) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1845 - at FSharp.Compiler.ParseAndCheckInputs.CheckClosedInputSet(CompilationThreadToken ctok, FSharpFunc`2 checkForErrors, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, FSharpOption`1 prefixPathOpt, TcState tcState, FSharpFunc`2 eagerFormat, FSharpList`1 inputs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1881 - at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 153 - at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 - at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) - at System.Diagnostics.Debug.Fail(String message, String detailMessage) - at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 - at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 - at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 - at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 504 - at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 600 - at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 165 - at FSharp.Compiler.Driver.main1(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider diagnosticsLoggerProvider, DisposablesTracker disposables) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 672 - at FSharp.Compiler.Driver.CompileFromCommandLineArguments(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider loggerProvider, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 1239 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.result@71.Invoke(StopProcessingExiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 72 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 58 - from Q:\fsharp-worktrees\issue-767\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net11.0\FSharp.Compiler.ComponentTests.dll (net11.0|x64) - Xunit.MicrosoftTestingPlatform.XunitException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unknown exception seen in compiler: Xunit.Sdk.TraceAssertException: Trace/Debug.Assert() Failure: Unexpected exception raised in compiler: Iterate2D - System.Exception: Iterate2D - at FSharp.Compiler.DiagnosticsLogger.Iterate2D[T,b](FSharpFunc`2 f, FSharpList`1 xs, FSharpList`1 ys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 746 - at FSharp.Compiler.ConstraintSolver.SolveTyparsEqualTypesAux(ConstraintSolverEnv csenv, Int32 ndeep, Range m2, OptionalTrace trace, FSharpList`1 tpTys, FSharpList`1 tys) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 1248 - at FSharp.Compiler.ConstraintSolver.CodegenWitnessesForTyparInst(FSharpFunc`2 tcVal, TcGlobals g, ImportMap amap, Range m, FSharpList`1 typars, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\ConstraintSolver.fs:line 4467 - at FSharp.Compiler.QuotationTranslator.GetWitnessArgs(QuotationGenerationScope cenv, QuotationTranslationEnv env, Range m, FSharpList`1 tps, FSharpList`1 tyargs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 252 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 387 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprs@933.Invoke(Expr expr) - at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 - at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 - at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 512 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 764 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 450 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 450 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 449 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1145 - at FSharp.Compiler.QuotationTranslator.converted@1081.Invoke(DecisionTreeCase _arg1, ExprData acc) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1088 - at FSharp.Compiler.QuotationTranslator.ConvDecisionTree(QuotationGenerationScope cenv, QuotationTranslationEnv env, DecisionTreeTarget[] tgs, TypeData typR, DecisionTree x) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1081 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 481 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 449 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprCore(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 463 - at FSharp.Compiler.QuotationTranslator.ConvExpr(QuotationGenerationScope cenv, QuotationTranslationEnv env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 246 - at FSharp.Compiler.QuotationTranslator.ConvExprPublic(QuotationGenerationScope cenv, Boolean suppressWitnesses, Expr e) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\QuotationTranslator.fs:line 1270 - at FSharp.Compiler.PostTypeCheckSemanticChecks.doData@1288.Invoke(Boolean suppressWitnesses) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1289 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckQuoteExpr(cenv cenv, env env, Expr ast, FSharpRef`1 savedConv, Range m, TType ty) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1294 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1213 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprPermitByRefLike(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1920 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1916@1916.Invoke(Expr expr) - at Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail[a,b](FSharpList`1 cons, FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 240 - at Microsoft.FSharp.Primitives.Basics.List.map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 250 - at Microsoft.FSharp.Collections.ListModule.Map[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 98 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprsPermitByRefLike(cenv cenv, env env, FSharpList`1 exprs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1916 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1235 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 - at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 - at FSharp.Compiler.PostTypeCheckSemanticChecks.Pipe #1 stage #1 at line 1906@1906.Invoke(Int32 i, Expr exp) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at Microsoft.FSharp.Primitives.Basics.List.mapi[T,TResult](FSharpFunc`2 f, FSharpList`1 x) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\local.fs:line 265 - at Microsoft.FSharp.Collections.ListModule.MapIndexed[T,TResult](FSharpFunc`2 mapping, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\list.fs:line 102 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprs(cenv cenv, env env, FSharpList`1 exprs, FSharpList`1 ctxts) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1906 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckCall(cenv cenv, env env, Range m, TType returnTy, FSharpList`1 args, FSharpList`1 ctxts, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1004 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckApplication(cenv cenv, env env, Expr expr, Expr f, FSharpList`1 tyargs, FSharpList`1 argsl, Range m, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1427 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1251 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprLinear(cenv cenv, env env, Expr expr, PermitByRefExpr ctxt, FSharpFunc`2 contf) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1069 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExpr(cenv cenv, env env, Expr origExpr, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1198 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckExprNoByrefs(cenv cenv, env env, Expr expr) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 824 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckLambdas(Boolean isTop, FSharpOption`1 memberVal, cenv cenv, env env, Boolean inlined, ValReprInfo valReprInfo, Boolean alwaysCheckNoReraise, Expr expr, Range mOrig, TType ety, PermitByRefExpr ctxt) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 1865 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckBinding(cenv cenv, env env, Boolean alwaysCheckNoReraise, PermitByRefExpr ctxt, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2220 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleBinding(cenv cenv, env env, Binding bind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2347 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckModuleSpec(cenv cenv, env env, ModuleOrNamespaceBinding mbind) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2788 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule@2771.Invoke(ModuleOrNamespaceBinding mbind) - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2771 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnsInModule(cenv cenv, env env, FSharpList`1 mdefs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2758 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckDefnInModule(cenv cenv, env env, ModuleOrNamespaceContents mdef) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2782 - at FSharp.Compiler.PostTypeCheckSemanticChecks.CheckImplFile(TcGlobals g, ImportMap amap, Boolean reportErrors, InfoReader infoReader, FSharpList`1 internalsVisibleToPaths, CcuThunk viewCcu, FSharpFunc`2 tcValF, DisplayEnv denv, ModuleOrNamespaceType implFileTy, ModuleOrNamespaceContents implFileContents, FSharpList`1 extraAttribs, Tuple`2 isLastCompiland, Boolean isInternalTestSpanStackReferring) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\PostInferenceChecks.fs:line 2857 - at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6352-10.Invoke(Unit unitVar0) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6363 - at FSharp.Compiler.CheckDeclarations.CheckOneImplFile@6258-1.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Checking\CheckDeclarations.fs:line 6282 - at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1524-12.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1524 - at FSharp.Compiler.ParseAndCheckInputs.CheckOneInputWithCallback@1446-14.Invoke(CancellationToken ct) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1446 - at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 - at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) - at System.Diagnostics.Debug.Fail(String message, String detailMessage) - at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 - at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 - at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 - at FSharp.Compiler.DiagnosticsLogger.CommitDelayedDiagnostics@414.Invoke(PhasedDiagnostic diagnostic) - at FSharp.Compiler.DiagnosticsLogger.CapturingDiagnosticsLogger.CommitDelayedDiagnostics(DiagnosticsLogger diagnosticsLogger) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 414 - at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 739 - at FSharp.Compiler.ParseAndCheckInputs.UseMultipleDiagnosticLoggers[a,b](FSharpList`1 inputs, DiagnosticsLogger diagnosticsLogger, FSharpOption`1 eagerFormat, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 732 - at FSharp.Compiler.ParseAndCheckInputs.CheckMultipleInputsUsingGraphMode[a](a _arg1_0, FSharpFunc`2 _arg1_1, TcConfig _arg1_2, TcImports _arg1_3, TcGlobals _arg1_4, FSharpOption`1 _arg1_5, TcState _arg1_6, FSharpFunc`2 _arg1_7, FSharpList`1 _arg1_8) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1845 - at FSharp.Compiler.ParseAndCheckInputs.CheckClosedInputSet(CompilationThreadToken ctok, FSharpFunc`2 checkForErrors, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, FSharpOption`1 prefixPathOpt, TcState tcState, FSharpFunc`2 eagerFormat, FSharpList`1 inputs) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\ParseAndCheckInputs.fs:line 1881 - at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 153 - at Xunit.Internal.TraceAssertOverrideListener.Fail(String message, String detailMessage) in /_/src/xunit.v3.core/Internal/TraceAssertOverrideListener.cs:line 52 - at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) - at System.Diagnostics.Debug.Fail(String message, String detailMessage) - at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2109 - at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:line 2119 - at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:line 233 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 36 - at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 504 - at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:line 600 - at FSharp.Compiler.Driver.TypeCheck(CompilationThreadToken ctok, TcConfig tcConfig, TcImports tcImports, TcGlobals tcGlobals, DiagnosticsLogger diagnosticsLogger, String assemblyName, TcEnv tcEnv0, FSharpList`1 openDecls0, FSharpList`1 inputs, Exiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 165 - at FSharp.Compiler.Driver.main1(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider diagnosticsLoggerProvider, DisposablesTracker disposables) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 672 - at FSharp.Compiler.Driver.CompileFromCommandLineArguments(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, IDiagnosticsLoggerProvider loggerProvider, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\fsc.fs:line 1239 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.result@71.Invoke(StopProcessingExiter exiter) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 72 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:line 58 - at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) - at System.Diagnostics.Debug.Fail(String message, String detailMessage) - at FSharp.Compiler.CompilerDiagnostics.Exception.Output(Exception exn, RichTextBuilder os, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:2109 - at FSharp.Compiler.CompilerDiagnostics.PhasedDiagnostic.FormatRichCore(PhasedDiagnostic x, Boolean flattenErrors, Boolean suggestNames) in Q:\fsharp-worktrees\issue-767\src\Compiler\Driver\CompilerDiagnostics.fs:2119 - at FSharp.Compiler.Diagnostics.FSharpDiagnostic.CreateFromException(PhasedDiagnostic diagnostic, Boolean suggestNames, Boolean flatErrors, FSharpOption`1 symbolEnv) in Q:\fsharp-worktrees\issue-767\src\Compiler\Symbols\FSharpDiagnostic.fs:233 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.diagnosticsLogger@33.DiagnosticSink(PhasedDiagnostic diagnostic) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:36 - at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:504 - at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.StopProcessingRecovery(DiagnosticsLogger x, Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:519 - at FSharp.Compiler.DiagnosticsLogger.stopProcessingRecovery(Exception exn, Range m) in Q:\fsharp-worktrees\issue-767\src\Compiler\Facilities\DiagnosticsLogger.fs:603 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.tryCompile(DiagnosticsLogger diagnosticsLogger, FSharpFunc`2 f) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:61 - at FSharp.Compiler.CodeAnalysis.CompileHelpers.compileFromArgs(CompilationThreadToken ctok, String[] argv, LegacyReferenceResolver legacyReferenceResolver, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:70 - at .$Service.Compile@328.Invoke(Unit unitVar) in Q:\fsharp-worktrees\issue-767\src\Compiler\Service\service.fs:329 - at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\async.fs:509 - at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) in D:\a\_work\1\s\src\fsharp\src\FSharp.Core\async.fs:112 - --- End of stack trace from previous location --- - at FSharp.Test.Utilities.Async.RunSynchronouslyImmediate.Static[T](FSharpAsync`1 computation, FSharpOption`1 cancellationToken) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Utilities.fs:80 - at FSharp.Test.CompilerAssertHelpers.rawCompile(String outputFilePath, Boolean isExe, IEnumerable`1 options, TargetFramework targetFramework, FSharpList`1 sources) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:472 - at FSharp.Test.CompilerAssertHelpers.compileDisposable(DirectoryInfo outputDirectory, Boolean isExe, IEnumerable`1 options, TargetFramework targetFramework, FSharpOption`1 nameOpt, FSharpList`1 sources) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:500 - at FSharp.Test.CompilerAssertHelpers.compileCompilationAux(DirectoryInfo outputDirectory, Boolean ignoreWarnings, Compilation cmpl) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:570 - at FSharp.Test.CompilerAssertHelpers.returnCompilation(Compilation cmpl, Boolean ignoreWarnings) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:627 - at FSharp.Test.CompilerAssert.CompileRaw(Compilation cmpl, FSharpOption`1 ignoreWarnings) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\CompilerAssert.fs:736 - at FSharp.Test.Compiler.compileFSharpCompilation(Compilation compilation, Boolean ignoreWarnings, CompilationUnit cUnit) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:863 - at FSharp.Test.Compiler.compileFSharp(FSharpCompilationSource fs) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:899 - at FSharp.Test.Compiler.compile(CompilationUnit cUnit) in Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\Compiler.fs:980 - at Language.CodeQuotationsTests.ReflectedDefinition parameter with recursive append shape compiles - issue 20379() in Q:\fsharp-worktrees\issue-767\tests\FSharp.Compiler.ComponentTests\Language\CodeQuotationTests.fs:243 - at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) - at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr) -Q:\fsharp-worktrees\issue-767\artifacts\bin\FSharp.Compiler.ComponentTests\Debug\net11.0\FSharp.Compiler.ComponentTests.dll (net11.0|x64) failed with 3 error(s) [+6/x3/?0] (11s 043ms) -Exit code: 2 - Standard output: xUnit.net v3 Microsoft.Testing.Platform v2 Runner v3.2.2+728c1dce01 (64-bit .NET 11.0.0-rc.1.26420.103) - - Server GC enabled: True - --------------------------------------------------------------- - Executables - - CSC = Q:\\.tools\.nuget\packages\Microsoft.Net.Compilers\4.3.0-1.22220.8\tools\csc.exe - BUILD_CONFIG = Debug - csc_flags = /nologo - FSC = Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\..\..\artifacts\bin\fsc\Debug\net11.0\fsc.dll - fsc_flags = -r:System.Core.dll --nowarn:20 --define:COMPILED --preferreduilang:en-US - FSCOREDLLPATH = Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\..\..\artifacts\bin\FSharp.Core\Debug\netstandard2.0\FSharp.Core.dll - FSI = Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\..\..\artifacts\bin\fsi\Debug\net11.0\fsi.dll - DotNetExe = Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\..\..\.dotnet\dotnet.exe - DOTNET_MULTILEVEL_LOOKUP = - DOTNET_ROOT = - FSI_FOR_SCRIPTS = Q:\fsharp-worktrees\issue-767\tests\FSharp.Test.Utilities\..\..\artifacts\bin\fsi\Debug\net11.0\fsi.dll - fsi_flags = -r:System.Core.dll --nowarn:20 --define:INTERACTIVE --maxerrors:1 --abortonerror --preferreduilang:en-US - ILDASM = Q:\\.tools\.nuget\packages\runtime.win-x64.Microsoft.NETCore.ILDAsm\5.0.0-preview.7.20364.11\runtimes\win-x64\native\ildasm.exe - PEVERIFY = ilverify - --------------------------------------------------------------- - -Test run summary: Failed! - total: 9 - failed: 3 - succeeded: 6 - skipped: 0 - duration: 11s 349ms -Test run completed with non-success exit code: 2 (see: https://aka.ms/testingplatform/exitcodes) diff --git a/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs b/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs index 00d44ac1c3a..d12a4a22c90 100644 --- a/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs +++ b/src/Compiler/TypedTree/TypedTreeOps.Remapping.fs @@ -1671,8 +1671,12 @@ module internal ExprRemapping = keepRecursiveValLinks = false } - /// Detect an Expr.Link that stands for a use of a recursive value which is still within its letrec scope - /// (and will therefore be fixed up by AdjustAndForgetUsesOfRecValue once type arguments are inferred). + /// Detect an Expr.Link that stands for a use of a recursive *function* value which is still within its + /// letrec scope (and will therefore be fixed up by AdjustAndForgetUsesOfRecValue once type arguments are + /// inferred). Only function-valued recursive bindings are matched: they are bound as lambdas and so are + /// never rewritten by the lazy-initialization morph in EliminateInitializationGraphs, whereas a monomorphic + /// recursive *data* value would have this same shared fixup node re-mutated to a lazy 'Force', leaking that + /// node into the captured quotation. See issue #20379. let isRecursiveValFixupLink (eref: Expr ref) = match stripDebugPoints eref.Value with | Expr.Val(vref, _, _) @@ -1680,7 +1684,10 @@ module internal ExprRemapping = // the shape AdjustAndForgetUsesOfRecValue accepts), so match that exact shape. | Expr.App(Expr.Val(vref, _, _), _, _, [], _) -> match vref.RecursiveValInfo with - | ValInRecScope _ -> true + | ValInRecScope _ -> + match vref.ValReprInfo with + | Some info -> info.NumCurriedArgs > 0 + | None -> false | ValNotInRecScope -> false | _ -> false diff --git a/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs b/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs index 41adc6920c5..0e2aa2da618 100644 --- a/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/Language/CodeQuotationTests.fs @@ -437,4 +437,46 @@ let rec loop x y = |> asLibrary |> compile |> shouldFail - |> withErrorCode 1230 \ No newline at end of file + |> withErrorCode 1230 + + // https://github.com/dotnet/fsharp/issues/20379 + // A monomorphic recursive *data* value (lazy-initialized 'let rec') gains nothing from fixup-link + // preservation. Its recursive-use fixup node is re-mutated to a lazy 'Force' by the initialization-graph + // elimination, so preserving the link would leak that 'Force' into the captured quotation. The auto-quoted + // definition must reference the value directly, exactly as before the issue 20379 fix. + [] + let ``Auto-quote of monomorphic recursive data value does not leak a lazy Force - issue 20379`` () = + Fsx """ +open Microsoft.FSharp.Quotations +open Microsoft.FSharp.Quotations.Patterns + +#nowarn "21" +#nowarn "40" + +let mutable captured: Expr option = None + +type Capture = + static member Run([] body: Expr int>) = + captured <- Some body + (fun (n: int) -> n) + +let rec data : int -> int = + Capture.Run(fun n -> data n) + +if data 3 <> 3 then failwith "Unexpected result" + +let rec containsForce expr = + match expr with + | Call(_, method, _) when method.Name = "Force" -> true + | ExprShape.ShapeVar _ -> false + | ExprShape.ShapeLambda(_, body) -> containsForce body + | ExprShape.ShapeCombination(_, args) -> List.exists containsForce args + +match captured with +| Some(WithValue(_, _, definition)) -> + if containsForce definition then failwithf "Lazy Force leaked into quotation: %A" definition +| expression -> failwithf "Unexpected quotation: %A" expression + """ + |> asExe + |> compileAndRun + |> shouldSucceed \ No newline at end of file