-
Notifications
You must be signed in to change notification settings - Fork 33
Open
Labels
proposalAn issue that represents a proposed feature or change to the repo.An issue that represents a proposed feature or change to the repo.untriagedAn issue that has not been triaged by the repo maintainers.An issue that has not been triaged by the repo maintainers.
Description
For example,
public struct OSVERSIONINFOW : OSVERSIONINFOW.Interface
{
public interface Interface { ... }
...
}
public struct OSVERSIONINFOEXW : OSVERSIONINFOEXW.Interface
{
public interface Interface : OSVERSIONINFOW.Interface { ... }
...
}This would reify the inheritance relationships, and enable certain uses of generics and would be source-generator friendly (like, I can generate my own __cast() "operator" methods).
Fields, which would have to be exposed as ref properties, might be best left out of the interfaces. Otherwise it would greatly increase friction for implementing and using them (hard to take the address of things).
Metadata
Metadata
Assignees
Labels
proposalAn issue that represents a proposed feature or change to the repo.An issue that represents a proposed feature or change to the repo.untriagedAn issue that has not been triaged by the repo maintainers.An issue that has not been triaged by the repo maintainers.