Skip to content

Conversation

@ericstj
Copy link
Member

@ericstj ericstj commented Oct 26, 2020

No description provided.

@ghost
Copy link

ghost commented Oct 26, 2020

Tagging subscribers to this area: @safern, @ViktorHofer
See info in area-owners.md if you want to be subscribed.

@ericstj ericstj added the breaking-change Issue or PR that represents a breaking API or functional change over a previous release. label Oct 26, 2020
@ghost ghost added the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Oct 26, 2020
public static System.Numerics.Vector<T> Multiply<T>(System.Numerics.Vector<T> left, T right) where T : struct { throw null; }
public static System.Numerics.Vector<T> Multiply<T>(T left, System.Numerics.Vector<T> right) where T : struct { throw null; }
public static System.Numerics.Vector<System.Single> Narrow(System.Numerics.Vector<System.Double> source1, System.Numerics.Vector<System.Double> source2) { throw null; }
public static System.Numerics.Vector<System.Single> Narrow(System.Numerics.Vector<System.Double> low, System.Numerics.Vector<System.Double> high) { throw null; }
Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Member

Choose a reason for hiding this comment

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

I'm fine with this as long as we are fine with the breaking change.

That being said, lower and upper may be better names than low and high here and would match the names we are using in the newer hardware intrinsics.

Copy link
Member Author

Choose a reason for hiding this comment

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

I don't think we should be revisiting names at this point. We should choose either src or ref as the winners. So far we've felt that choosing src as the winner is slightly less breaking since a compile time break is easier to deal with than runtime break.

Copy link
Member

@safern safern left a comment

Choose a reason for hiding this comment

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

🎉 -- as long we're fine with the breaking changes.

@ericstj ericstj requested a review from bartonjs October 26, 2020 22:58
Mono used a different name which was more consistent with the rest of
the API.
@ericstj
Copy link
Member Author

ericstj commented Nov 6, 2020

@terrajobst do you support this change? Note a few places where I made parameter name changes in the implementation, or in both implementation/ref to match mono (which chose more consistent parameter names).

Comment on lines +500 to +501
public static System.Attribute[] GetCustomAttributes(System.Reflection.MemberInfo element, System.Type attributeType) { throw null; }
public static System.Attribute[] GetCustomAttributes(System.Reflection.MemberInfo element, System.Type attributeType, bool inherit) { throw null; }
Copy link
Member Author

Choose a reason for hiding this comment

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

These changed both in ref and src to match Mono.

Copy link
Contributor

@terrajobst terrajobst left a comment

Choose a reason for hiding this comment

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

I'm onboard with these kind of changes as it's inline with the kind of breaks we want to be able to do in .NET Core. The proposed changes seems fine.

I only have one question: it seems we're sometimes choosing ref and sometimes choosing src as the winner. Not that there is a problem but how did we choose? What makes more sense?

@ericstj
Copy link
Member Author

ericstj commented Nov 12, 2020

I only have one question: it seems we're sometimes choosing ref and sometimes choosing src as the winner. Not that there is a problem but how did we choose? What makes more sense?

I preferred src over ref since they tended to have better names and it's less breaking (ref changes only break recompile). There were exceptions. Mentioned #43838 (comment), #43838 (comment), #43838 (comment), and changes in crypto that made things consistent with other similar APIs in the same assembly.

@ericstj
Copy link
Member Author

ericstj commented Nov 12, 2020

/azp run runtime

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ericstj
Copy link
Member Author

ericstj commented Nov 12, 2020

Looks like @stephentoub's changes in #43834 broke this. I'll fix those up as well.

@ericstj ericstj merged commit 8ebd0d4 into dotnet:master Nov 12, 2020
@terrajobst
Copy link
Contributor

Awesome. Thanks!

@ghost ghost locked as resolved and limited conversation to collaborators Dec 13, 2020
@ericstj ericstj added this to the 6.0.0 milestone Sep 29, 2021
@ericstj ericstj self-assigned this Sep 30, 2021
@ericstj ericstj removed the needs-breaking-change-doc-created Breaking changes need an issue opened with https://github.com/dotnet/docs/issues/new?template=dotnet label Oct 14, 2021
@ericstj
Copy link
Member Author

ericstj commented Oct 14, 2021

Doc : dotnet/docs#26519

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructure-libraries breaking-change Issue or PR that represents a breaking API or functional change over a previous release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants