-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Refresh APIs for .NET 6 GA #7384
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
Conversation
Build.Reason:Manual by Genevieve Warren Build.Url:https://apidrop.visualstudio.com/Content%20CI/_build/results?buildId=264012&view=results source_repo.branch:net6-ga source_repo.url:https://apidrop.visualstudio.com/_git/binaries
| @@ -54,27 +59,165 @@ | |||
| <BaseTypeName>System.ValueType</BaseTypeName> | |||
| </Base> | |||
| <Interfaces> | |||
| <Interface FrameworkAlternate="dotnet-plat-ext-6.0"> | |||
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.
These interfaces and the new members that come from them are all RequiresPreviewFeatures. Do we have something (even just displaying the attribute) to help display to users the APIs are "preview only" and not available for use in production?
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.
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.
Does it also display for the methods? Like struct Int32 { int IAdditionOperators<int, int, int>.operator +(int left, int right); } ?
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.
Hmmm, it actually looks like those methods aren't visible at all: https://review.docs.microsoft.com/en-us/dotnet/api/system.int32?view=dotnet-plat-ext-6.0&branch=pr-en-us-7384
I'd expect them to be under Explicit Interface Implementations and have the RequiresPreviewFeatures attribute
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.
It looks like there is some work to do here then. It seems to be a problem with mdoc, because I don't see a sign of those EIIs in the ECMAXML either. I wonder if we shouldn't publish the APIs from the experimental package just yet? cc @huangmin-ms @mimisasouvanh.
I do see that for existing operators and methods that newly implement an interface method in the experimental package, at least that "Implements" information shows up, e.g.: https://review.docs.microsoft.com/en-us/dotnet/api/system.double.op_lessthan?view=dotnet-plat-ext-6.0&branch=pr-en-us-7384
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.
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.
@gewarren @tannergooding @mimisasouvanh the preview feature - static abstract members in interfaces is not yet supported in mdoc.
Why? People use these apis, why not keem them documented here.
Did you mean to word this as
I wonder why there is no |
This means to exclude the public APIs in the library that implements the source generator itself. No one calls into the source generator library - just the compiler. External developers don't call methods on the |
Yes, I did. I've updated it, thanks. |
|
Two interesting things to note for types like Char: |
Notably, the type only directly implements: I wonder if there would be some benefit to not displaying the transitive closure in the block here and instead only showing the "top level" set of interfaces. The transitive closure could then be displayed elsewhere... Where those |
|
Closing in favor of #7387 |




This refresh includes the following key changes:
Build.Reason:Manual by Genevieve Warren
Build.Url:https://apidrop.visualstudio.com/Content%20CI/_build/results?buildId=264012&view=results
source_repo.branch:net6-ga
source_repo.url:https://apidrop.visualstudio.com/_git/binaries