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

Update SBRP to 1.0.0-beta.20574.1 #1920

Closed
wants to merge 2 commits into from
Closed

Conversation

dseefeld
Copy link
Contributor

@dseefeld dseefeld commented Nov 24, 2020

This is the version that is now building with 5.0 tools.

dotnet/source-build-reference-packages#197

Uses #1899.

@dseefeld dseefeld self-assigned this Nov 24, 2020
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
<Sha>fe6afa24c69cc135200bbe1f12a90a11a450dcb0</Sha>
<Sha>c52443b2ff14d485043d322bbc4c3dc4b592b3cd</Sha>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Diff: dotnet/source-build-reference-packages@fe6afa2...c52443b (just the 5.0 prev-sb, no other commits)

F# failed in CI, in the tarball builds:

FSharp.Core/Linq.fs(115,120): error FS0331: The implicit instantiation of a generic construct at or near this point could not be resolved because it could resolve to multiple unrelated types, e.g. 'ValueType' and 'IComparable'. Consider using type annotations to resolve the ambiguity [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Linq.fs(115,120): error FS0071: Type constraint mismatch when applying the default type 'IComparable' for a type inference variable. The type 'IComparable' is not compatible with the type 'ValueType' Consider adding further type constraints [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/QueryExtensions.fs(45,34): error FS0039: The value, namespace, type or module 'LeafExpressionConverter' is not defined. [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/QueryExtensions.fs(50,34): error FS0039: The value, namespace, type or module 'LeafExpressionConverter' is not defined. [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/QueryExtensions.fs(218,49): error FS0039: The value, namespace, type or module 'LeafExpressionConverter' is not defined. [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(258,10): error FS0039: The value, namespace, type or module 'LeafExpressionConverter' is not defined. [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(258,10): error FS0008: This runtime coercion or type test from type�    'a    � to �    QuerySource<'T,IEnumerable>    �involves an indeterminate type based on information prior to this program point. Runtime type tests are not allowed on some types. Further type annotations are needed. [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(298,43): error FS0039: The namespace 'LeafExpressionConverter' is not defined. [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(320,27): error FS0039: The value or constructor '|SpecificCallToMethod|_|' is not defined. Maybe you want one of the following:�   |SpecificCall|_| [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(322,10): error FS0001: This expression was expected to have type�    ''a -> 'b option'    �but here has type�    ''c option' [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(327,27): error FS0039: The value or constructor '|SpecificCallToMethod|_|' is not defined. Maybe you want one of the following:�   |SpecificCall|_|�   |SpecificCall1|_| [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(329,10): error FS0001: This expression was expected to have type�    ''a -> 'b option'    �but here has type�    ''c option' [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(334,27): error FS0039: The value or constructor '|SpecificCallToMethod|_|' is not defined. Maybe you want one of the following:�   |SpecificCall|_|�   |SpecificCall1|_|�   |SpecificCall2|_| [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(336,10): error FS0001: This expression was expected to have type�    ''a -> 'b option'    �but here has type�    ''c option' [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(405,34): error FS0039: The value, namespace, type or module 'LeafExpressionConverter' is not defined. [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(449,61): error FS0039: The value, namespace, type or module 'LeafExpressionConverter' is not defined. [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(452,61): error FS0039: The value, namespace, type or module 'LeafExpressionConverter' is not defined. [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(470,30): error FS0039: The value, namespace, type or module 'LeafExpressionConverter' is not defined. [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(652,61): error FS0039: The value, namespace, type or module 'LeafExpressionConverter' is not defined. [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(1043,70): error FS0039: The value or constructor '|SpecificCallToMethod|_|' is not defined. Maybe you want one of the following:�   |SpecificCall|_|�   |SpecificCall1|_|�   |SpecificCall2|_|�   |SpecificCall3|_| [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(1045,66): error FS0039: The value or constructor '|SpecificCallToMethod|_|' is not defined. Maybe you want one of the following:�   |SpecificCall|_|�   |SpecificCall1|_|�   |SpecificCall2|_|�   |SpecificCall3|_| [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(1047,71): error FS0039: The value or constructor '|SpecificCallToMethod|_|' is not defined. Maybe you want one of the following:�   |SpecificCall|_|�   |SpecificCall1|_|�   |SpecificCall2|_|�   |SpecificCall3|_| [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(1049,61): error FS0039: The value or constructor '|SpecificCallToMethod|_|' is not defined. Maybe you want one of the following:�   |SpecificCall|_|�   |SpecificCall1|_|�   |SpecificCall2|_|�   |SpecificCall3|_| [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(1053,67): error FS0039: The value or constructor '|SpecificCallToMethod|_|' is not defined. Maybe you want one of the following:�   |SpecificCall|_|�   |SpecificCall1|_|�   |SpecificCall2|_|�   |SpecificCall3|_| [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(1055,62): error FS0039: The value or constructor '|SpecificCallToMethod|_|' is not defined. Maybe you want one of the following:�   |SpecificCall|_|�   |SpecificCall1|_|�   |SpecificCall2|_|�   |SpecificCall3|_| [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(1121,27): error FS0039: The value or constructor '|SpecificCallToMethod|_|' is not defined. Maybe you want one of the following:�   |SpecificCall|_|�   |SpecificCall1|_|�   |SpecificCall2|_|�   |SpecificCall3|_| [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(1123,32): error FS0039: The value or constructor '|SpecificCallToMethod|_|' is not defined. Maybe you want one of the following:�   |SpecificCall|_|�   |SpecificCall1|_|�   |SpecificCall2|_|�   |SpecificCall3|_| [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(1125,36): error FS0039: The value or constructor '|SpecificCallToMethod|_|' is not defined. Maybe you want one of the following:�   |SpecificCall|_|�   |SpecificCall1|_|�   |SpecificCall2|_|�   |SpecificCall3|_| [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(1470,11): error FS0001: This expression was expected to have type�    'Expr -> 'a option'    �but here has type�    ''b option' [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fs(1815,15): error FS0039: The value, namespace, type or module 'LeafExpressionConverter' is not defined. [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/fslib-extra-pervasives.fs(278,39): error FS0039: The value, constructor, namespace or type 'QueryBuilder' is not defined. [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Linq.fsi(5,1): error FS0240: The signature file 'Linq' does not have a corresponding implementation file. If an implementation file exists then check the 'module' and 'namespace' declarations in the signature and implementation files match. [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]
FSharp.Core/Query.fsi(1,1): error FS0240: The signature file 'Query' does not have a corresponding implementation file. If an implementation file exists then check the 'module' and 'namespace' declarations in the signature and implementation files match. [/tb/tarball_898679/src/fsharp.da6be68280c89131cdba2045525b80890401defd/src/fsharp/FSharp.Core/FSharp.Core.fsproj]

Taking a look since I kinda recently moved it to net5.0. (Although that did get a green internal rolling build, so this isn't a case of should-have-been-a-merge-conflict.)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I grabbed the netstandard.dll from SBRP's NETStandard.Library.2.0.3 before and after this PR, and found this IL diff:
https://gist.github.com/dagood/4a3792f73ec7775f75e4f514a19a6157

In particular, I think this could cause the first error (and I think the rest are just pile-ons):
https://gist.github.com/dagood/4a3792f73ec7775f75e4f514a19a6157#file-netstandard-il-diff-L84-L90

 .class public auto ansi abstract sealed beforefieldinit System.Nullable
 	extends System.Object
 {
 	// Methods
 	.method public hidebysig static 
-		int32 Compare<(System.ValueType) T> (
+		int32 Compare<valuetype .ctor (System.ValueType) T> (

With decompilation to C# this shows up as:

-		public static int Compare<T>(T? n1, T? n2) where T : ValueType
+		public static int Compare<T>(T? n1, T? n2) where T : struct

The IL that's checked into SBRP includes valuetype .ctor:

  .method /*06000757*/ public hidebysig static 
          int32  Compare<valuetype .ctor (System.ValueType/*020000C7*/) T>(valuetype System.Nullable`1/*02000089*/<!!T> n1,
                                                                           valuetype System.Nullable`1/*02000089*/<!!T> n2) cil managed

Another ilasm regression? 😬

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Filed dotnet/runtime#45183 for that, assuming it's the problem. I hope I'm wrong, but want to get eyes on this ASAP.

@dseefeld dseefeld closed this Nov 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants