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.
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.
There was a problem hiding this comment.
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.
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.
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.
There was a problem hiding this comment.
@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