Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework some F# layering #17370

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

temp

334cebb
Select commit
Loading
Failed to load commit list.
Draft

Rework some F# layering #17370

temp
334cebb
Select commit
Loading
Failed to load commit list.
Azure Pipelines / fsharp-ci failed Jul 12, 2024 in 1h 3m 7s

Build #20240712.9 had test failures

Details

Tests

  • 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

See this annotation in the file changed.

@azure-pipelines azure-pipelines / fsharp-ci

Build log #L18

Bash exited with code '99'.

Check failure on line 127234 in Build log

See this annotation in the file changed.

@azure-pipelines azure-pipelines / fsharp-ci

Build log #L127234

(NETCORE_ENGINEERING_TELEMETRY=Test) Failure running tests

Check failure on line 127235 in Build log

See this annotation in the file changed.

@azure-pipelines azure-pipelines / fsharp-ci

Build log #L127235

Cmd.exe exited with code '1'.

Check failure on line 2962 in Build log

See this annotation in the file changed.

@azure-pipelines azure-pipelines / fsharp-ci

Build log #L2962

(NETCORE_ENGINEERING_TELEMETRY=Test) Error running tests (exit code '1').

Check failure on line 1 in FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression02

See this annotation in the file changed.

@azure-pipelines 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

Check failure on line 1 in FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression03

See this annotation in the file changed.

@azure-pipelines 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

Check failure on line 1 in FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression04

See this annotation in the file changed.

@azure-pipelines 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

Check failure on line 1 in FSharp.Compiler.UnitTests.CodeGen.EmittedIL.ComputedListExpressions.ComputedListExpression05

See this annotation in the file changed.

@azure-pipelines 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