Rework some F# layering #17370
Rework some F# layering #17370
Build #20240712.9 had test failures
Details
- Failed: 21 (0.05%)
- Passed: 38,679 (95.70%)
- Other: 1,715 (4.24%)
- Total: 40,415
Annotations
Check failure on line 18 in Build log
azure-pipelines / fsharp-ci
Build log #L18
Bash exited with code '99'.
Check failure on line 127234 in Build log
azure-pipelines / fsharp-ci
Build log #L127234
(NETCORE_ENGINEERING_TELEMETRY=Test) Failure running tests
Check failure on line 127235 in Build log
azure-pipelines / fsharp-ci
Build log #L127235
Cmd.exe exited with code '1'.
Check failure on line 2962 in Build log
azure-pipelines / fsharp-ci
Build log #L2962
(NETCORE_ENGINEERING_TELEMETRY=Test) Error running tests (exit code '1').
azure-pipelines / fsharp-ci
FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression02
==
Name: '.method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> ListExpressionSteppingTest2() cil managed'
Expected: IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
Actual: IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfExtensions::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
==
==
Name: '.method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> ListExpressionSteppingTest2() cil managed'
Expected: IL_0024: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
Actual: IL_0024: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfExtensions::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
==
\Expected:
.method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>
ListExpressionSteppingTest2() cil managed
{
.maxstack 4
.locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1<int32> V_0)
IL_0000: nop
IL_0001: ldstr "hello"
IL_0006: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::.ctor(string)
IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
IL_0010: pop
IL_0011: ldloca.s V_0
IL_0013: ldc.i4.1
IL_0014: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1<int32>::Add(!0)
IL_0019: nop
IL_001a: ldstr "goodbye"
IL_001f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::.ctor(string)
IL_0024: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
IL_0029: pop
IL_002a: ldloca.s V_0
IL_002c: ldc.i4.2
IL_002d: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1<int32>::Add(!0)
IL_0032: nop
IL_0033: ldloca.s V_0
IL_0035: call instance class
Raw output
at FSharp.Test.ILChecker.checkILAux(IEnumerable`1 ildasmArgs, String dllFilePath, FSharpList`1 expectedIL) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\ILChecker.fs:line 176
at FSharp.Test.ILChecker.checkIL(String dllFilePath, FSharpList`1 expectedIL) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\ILChecker.fs:line 184
at FSharp.Test.ILVerifier.VerifyIL(FSharpList`1 expectedIL) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 68
at FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression02@49.Invoke(ILVerifier verifier) in D:\a\_work\1\s\tests\fsharp\Compiler\CodeGen\EmittedIL\ComputedListExpressions.fs:line 49
at [email protected](Tuple`3 tupledArg) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 687
at FSharp.Test.CompilerAssertHelpers.compile[b](Boolean isExe, IEnumerable`1 options, SourceCodeFileKind source, FSharpFunc`2 f) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 515
at FSharp.Test.CompilerAssert.compileLibraryAndVerifyILWithOptions(IEnumerable`1 options, SourceCodeFileKind source, FSharpFunc`2 f) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 681
at FSharp.Test.CompilerAssert.CompileLibraryAndVerifyILWithOptions(IEnumerable`1 options, String source, FSharpFunc`2 f) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 990
at FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression02() in D:\a\_work\1\s\tests\fsharp\Compiler\CodeGen\EmittedIL\ComputedListExpressions.fs:line 40
azure-pipelines / fsharp-ci
FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression03
==
Name: '.method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<int32>> ListExpressionSteppingTest3() cil managed'
Expected: IL_001a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
Actual: IL_001a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfExtensions::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
==
\Expected:
.method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<int32>>
ListExpressionSteppingTest3() cil managed
{
.maxstack 4
.locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<int32> V_0,
valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1<class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<int32>> V_1)
IL_0000: ldc.i4.0
IL_0001: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<!!0> [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref<int32>(!!0)
IL_0006: stloc.0
IL_0007: br.s IL_0029
IL_0009: ldloc.0
IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<int32>)
IL_000f: nop
IL_0010: ldstr "hello"
IL_0015: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::.ctor(string)
IL_001a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
IL_001f: pop
IL_0020: ldloca.s V_1
IL_0022: ldloc.0
IL_0023: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1<class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<int32>>::Add(!0)
IL_0028: nop
IL_0029: ldloc.0
IL_002a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference<int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<!!0>)
IL_002f: ldc.i4.4
IL_0030: blt.s IL_0009
IL_0032: ldloca.s V_1
IL_0034: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<!0> valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1<class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<int32>>::Close()
IL_0039: ret
}
Actual:
.method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<int32>> ListExpressionSteppingTest3() cil managed
{
.maxstack 4
.locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<int32> V_0,
valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1<class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<int32>> V_1)
IL_0000: ldc.i4.0
IL_0001: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<!!0> [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref<int32>(!!0)
IL_0006: stloc.0
IL_0007: br.s IL_0029
IL_0009: ldloc.0
IL_000
Raw output
at FSharp.Test.ILChecker.checkILAux(IEnumerable`1 ildasmArgs, String dllFilePath, FSharpList`1 expectedIL) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\ILChecker.fs:line 176
at FSharp.Test.ILChecker.checkIL(String dllFilePath, FSharpList`1 expectedIL) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\ILChecker.fs:line 184
at FSharp.Test.ILVerifier.VerifyIL(FSharpList`1 expectedIL) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 68
at FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression03@94.Invoke(ILVerifier verifier) in D:\a\_work\1\s\tests\fsharp\Compiler\CodeGen\EmittedIL\ComputedListExpressions.fs:line 94
at [email protected](Tuple`3 tupledArg) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 687
at FSharp.Test.CompilerAssertHelpers.compile[b](Boolean isExe, IEnumerable`1 options, SourceCodeFileKind source, FSharpFunc`2 f) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 515
at FSharp.Test.CompilerAssert.compileLibraryAndVerifyILWithOptions(IEnumerable`1 options, SourceCodeFileKind source, FSharpFunc`2 f) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 681
at FSharp.Test.CompilerAssert.CompileLibraryAndVerifyILWithOptions(IEnumerable`1 options, String source, FSharpFunc`2 f) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 990
at FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression03() in D:\a\_work\1\s\tests\fsharp\Compiler\CodeGen\EmittedIL\ComputedListExpressions.fs:line 83
azure-pipelines / fsharp-ci
FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression04
==
Name: '.method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> ListExpressionSteppingTest4() cil managed'
Expected: IL_0054: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
Actual: IL_0054: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfExtensions::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
==
\Expected:
.method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>
ListExpressionSteppingTest4() cil managed
{
.maxstack 4
.locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1<int32> V_0,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<int32> V_1,
class [runtime]System.Collections.Generic.IEnumerable`1<int32> V_2,
class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<int32> V_3,
int32 V_4)
IL_0000: nop
IL_0001: ldc.i4.0
IL_0002: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<!!0> [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref<int32>(!!0)
IL_0007: stloc.1
.try
{
IL_0008: nop
IL_0009: ldc.i4.0
IL_000a: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<!!0> [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref<int32>(!!0)
IL_000f: stloc.3
IL_0010: ldloc.3
IL_0011: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<int32>)
IL_0016: nop
IL_0017: ldloca.s V_0
IL_0019: ldloc.1
IL_001a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference<int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<!!0>)
IL_001f: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1<int32>::Add(!0)
IL_0024: nop
IL_0025: ldloc.1
IL_0026: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference<int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<!!0>)
IL_002b: ldloc.3
IL_002c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::op_Dereference<int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<!!0>)
IL_0031: add
IL_0032: stloc.s V_4
IL_0034: ldloca.s V_0
IL_0036: ldloc.s V_4
IL_0038: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1<int32>::Add(!0)
IL_003d: nop
IL_003e: ldnull
IL_003f: stloc.2
IL_0040: leave.s IL_005b
}
finally
{
IL_0042: nop
IL_0043: ldloc.1
IL_0044: call void [FSharp.Core]Microsoft.FSharp.Core.Operators::Increment(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1<int32>)
IL_0049: nop
IL_004a: ldstr "done"
IL_004f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::.ctor(string)
IL_0054: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
IL_0059: pop
IL_005a: endfinally
Raw output
at FSharp.Test.ILChecker.checkILAux(IEnumerable`1 ildasmArgs, String dllFilePath, FSharpList`1 expectedIL) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\ILChecker.fs:line 176
at FSharp.Test.ILChecker.checkIL(String dllFilePath, FSharpList`1 expectedIL) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\ILChecker.fs:line 184
at FSharp.Test.ILVerifier.VerifyIL(FSharpList`1 expectedIL) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 68
at FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression04@148.Invoke(ILVerifier verifier) in D:\a\_work\1\s\tests\fsharp\Compiler\CodeGen\EmittedIL\ComputedListExpressions.fs:line 148
at [email protected](Tuple`3 tupledArg) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 687
at FSharp.Test.CompilerAssertHelpers.compile[b](Boolean isExe, IEnumerable`1 options, SourceCodeFileKind source, FSharpFunc`2 f) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 515
at FSharp.Test.CompilerAssert.compileLibraryAndVerifyILWithOptions(IEnumerable`1 options, SourceCodeFileKind source, FSharpFunc`2 f) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 681
at FSharp.Test.CompilerAssert.CompileLibraryAndVerifyILWithOptions(IEnumerable`1 options, String source, FSharpFunc`2 f) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 990
at FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression04() in D:\a\_work\1\s\tests\fsharp\Compiler\CodeGen\EmittedIL\ComputedListExpressions.fs:line 133
azure-pipelines / fsharp-ci
FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression05
==
Name: '.method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32> ListExpressionSteppingTest5() cil managed'
Expected: IL_0022: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
Actual: IL_0022: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfExtensions::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
==
\Expected:
.method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1<int32>
ListExpressionSteppingTest5() cil managed
{
.maxstack 5
.locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1<int32> V_0,
class [runtime]System.Collections.Generic.IEnumerator`1<int32> V_1,
class [runtime]System.Collections.Generic.IEnumerable`1<int32> V_2,
int32 V_3,
class [runtime]System.IDisposable V_4)
IL_0000: nop
IL_0001: ldc.i4.1
IL_0002: ldc.i4.1
IL_0003: ldc.i4.4
IL_0004: call class [runtime]System.Collections.Generic.IEnumerable`1<int32> [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32,
int32,
int32)
IL_0009: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1<!0> class [runtime]System.Collections.Generic.IEnumerable`1<int32>::GetEnumerator()
IL_000e: stloc.1
.try
{
IL_000f: br.s IL_0031
IL_0011: ldloc.1
IL_0012: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1<int32>::get_Current()
IL_0017: stloc.3
IL_0018: ldstr "hello"
IL_001d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5<class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::.ctor(string)
IL_0022: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine<class [FSharp.Core]Microsoft.FSharp.Core.Unit>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4<!!0,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>)
IL_0027: pop
IL_0028: ldloca.s V_0
IL_002a: ldloc.3
IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1<int32>::Add(!0)
IL_0030: nop
IL_0031: ldloc.1
IL_0032: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext()
IL_0037: brtrue.s IL_0011
IL_0039: ldnull
IL_003a: stloc.2
IL_003b: leave.s IL_0052
}
finally
{
IL_003d: ldloc.1
IL_003e: isinst [runtime]System.IDisposable
IL_0043: stloc.s V_4
IL_0045: ldloc.s V_4
IL_0047: brfalse.s IL_0051
IL_0049: ldloc.s V_4
IL_004b: callvirt instance void [runtime]System.IDisposable::Dispose()
IL_0050: endfinally
IL_0051: endfinally
}
IL_0052: ldloc.2
IL_0053: pop
IL_0054: ldloca.s V_0
IL_0056: call
Raw output
at FSharp.Test.ILChecker.checkILAux(IEnumerable`1 ildasmArgs, String dllFilePath, FSharpList`1 expectedIL) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\ILChecker.fs:line 176
at FSharp.Test.ILChecker.checkIL(String dllFilePath, FSharpList`1 expectedIL) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\ILChecker.fs:line 184
at FSharp.Test.ILVerifier.VerifyIL(FSharpList`1 expectedIL) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 68
at FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression05@225.Invoke(ILVerifier verifier) in D:\a\_work\1\s\tests\fsharp\Compiler\CodeGen\EmittedIL\ComputedListExpressions.fs:line 225
at [email protected](Tuple`3 tupledArg) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 687
at FSharp.Test.CompilerAssertHelpers.compile[b](Boolean isExe, IEnumerable`1 options, SourceCodeFileKind source, FSharpFunc`2 f) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 515
at FSharp.Test.CompilerAssert.compileLibraryAndVerifyILWithOptions(IEnumerable`1 options, SourceCodeFileKind source, FSharpFunc`2 f) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 681
at FSharp.Test.CompilerAssert.CompileLibraryAndVerifyILWithOptions(IEnumerable`1 options, String source, FSharpFunc`2 f) in D:\a\_work\1\s\tests\FSharp.Test.Utilities\CompilerAssert.fs:line 990
at FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression05() in D:\a\_work\1\s\tests\fsharp\Compiler\CodeGen\EmittedIL\ComputedListExpressions.fs:line 217