-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Refactoring IShiftOperators to take a TOther
#71405
Conversation
Note regarding the This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, to please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change. |
Tagging subscribers to this area: @dotnet/area-system-numerics Issue DetailsThis is failing locally, checking if CI provides any additional details.
|
@davidwrighton, @lambdageek seeing:
I'm unsure what's "special" here that's causing the error. it seems to occur just by adding a generic type parameter to |
Stack trace here is the following with it seemingly occurring just as part of startup:
Potentially related to the specializations that the built-in types have to reduce the cost of the interfaces? |
Should probably tag @trylek as well |
Logged #71441 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. All of our types here use int
as TOther
, right? Is the intent to allow users implementing the interface to use different types as the shiftAmount
?
@@ -1373,6 +1373,9 @@ void SystemDomain::LoadBaseSystemClasses() | |||
// We have delayed allocation of CoreLib's static handles until we load the object class | |||
CoreLibBinder::GetModule()->AllocateRegularStaticHandles(DefaultDomain()); | |||
|
|||
// Int32 has to be loaded first to break cycle in IShiftOperators | |||
CoreLibBinder::LoadPrimitiveType(ELEMENT_TYPE_I4); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's this change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A change from Jan that fixes a VM bug that was preventing this change from working.
This is failing locally, checking if CI provides any additional details.