dotnet/source-build

9.0 Stage 2 Builds Failing in fsharp with `error FS0064`

Closed this issue ยท 9 comments

Link to failues (internal Microsoft link)

  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(26,36): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_codeopt has been constrained to be type 'Code'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(26,36): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_codeopt has been constrained to be type 'Code'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(26,46): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_Macros has been constrained to be type 'Macro list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(26,46): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_Macros has been constrained to be type 'Macro list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(26,55): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_Rules has been constrained to be type 'Rule list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(26,55): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_Rules has been constrained to be type 'Rule list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(36,26): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_macro has been constrained to be type 'Macro'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(36,26): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_macro has been constrained to be type 'Macro'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(41,31): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_regexp has been constrained to be type 'Regexp'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(41,31): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_regexp has been constrained to be type 'Regexp'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(46,26): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_rule has been constrained to be type 'Rule'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(46,26): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_rule has been constrained to be type 'Rule'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(52,30): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_args has been constrained to be type 'RuleArgument list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(52,30): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_args has been constrained to be type 'RuleArgument list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(52,33): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_clauses has been constrained to be type 'Clause list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(52,33): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_clauses has been constrained to be type 'Clause list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fs(411,20): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_optbar has been constrained to be type 'unit'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fs(411,20): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_optbar has been constrained to be type 'unit'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(65,44): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_clause has been constrained to be type 'Clause'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(65,44): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_clause has been constrained to be type 'Clause'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(84,78): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_charset has been constrained to be type ''a -> 'b'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(84,78): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_charset has been constrained to be type ''a -> 'b'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fs(260,20): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype__startspec has been constrained to be type 'obj'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fs(260,20): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype__startspec has been constrained to be type 'obj'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@dotnet/fsharp - can you please take a look?

Feel free to put ignore for this error when you build (if you can, we have it as warning). Not yet sure what caused it.

Had a discussion with @KevinRansom about this issue - it's likely related to this line from dotnet/fsharp#17649. The fsharp team is investigating.

fsharp team confirmed that they think there's a bug to fix. I'll make the change to disable the warnings on our end and close this issue with that PR. I'm also going to link the PR to the issue in the fsharp repo so that we can remove the ignore once the fsharp team has a fix for the bug.

The Stage 2 builds of 9.0.1xx-rc2 (internal Microsoft link) also failed with the same issue:

  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(26,36): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_codeopt has been constrained to be type 'Code'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(26,36): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_codeopt has been constrained to be type 'Code'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(26,46): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_Macros has been constrained to be type 'Macro list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(26,46): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_Macros has been constrained to be type 'Macro list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(26,55): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_Rules has been constrained to be type 'Rule list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(26,55): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_Rules has been constrained to be type 'Rule list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(36,26): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_macro has been constrained to be type 'Macro'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(36,26): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_macro has been constrained to be type 'Macro'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(41,31): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_regexp has been constrained to be type 'Regexp'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(41,31): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_regexp has been constrained to be type 'Regexp'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(46,26): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_rule has been constrained to be type 'Rule'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(46,26): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_rule has been constrained to be type 'Rule'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(52,30): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_args has been constrained to be type 'RuleArgument list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(52,30): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_args has been constrained to be type 'RuleArgument list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(52,33): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_clauses has been constrained to be type 'Clause list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(52,33): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_clauses has been constrained to be type 'Clause list'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fs(411,20): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_optbar has been constrained to be type 'unit'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fs(411,20): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_optbar has been constrained to be type 'unit'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(65,44): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_clause has been constrained to be type 'Clause'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(65,44): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_clause has been constrained to be type 'Clause'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(84,78): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_charset has been constrained to be type ''a -> 'b'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fsy(84,78): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype_charset has been constrained to be type ''a -> 'b'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]
  /vmr/src/fsharp/buildtools/fslex/fslexpars.fs(260,20): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype__startspec has been constrained to be type 'obj'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj] [/vmr/artifacts/source-built-sdks/Microsoft.DotNet.Arcade.Sdk/tools/Build.proj]
##[error]/vmr/src/fsharp/buildtools/fslex/fslexpars.fs(260,20): error FS0064: This construct causes code to be less generic than indicated by the type annotations. The type variable 'gentype__startspec has been constrained to be type 'obj'. [/vmr/src/fsharp/buildtools/fslex/fslex.fsproj]

I think sdk workaround wasn't merged yet

I opened a backport PR - dotnet/sdk#43548