[ILLink] Linker relies on recursive interfaceImpls to be applied by Roslyn #98536
Labels
area-Tools-ILLink
.NET linker development as well as trimming analyzers
in-pr
There is an active PR which will close this issue when it is merged
Milestone
Roslyn will apply InterfaceImpl's of the interfaces declared on the type, and all the interfaces that those interfaces implement, recursively. We rely on this fact in a few places in the linker when searching for DIMs, and determining which interfaces can be trimmed. However, this isn't required by IL, and if Roslyn doesn't do this, we get the wrong behavior.
In the following examples, if each type only has InterfaceImpls for the declared interfaces, the app will still run fine, but the linker would break it.
See #98436 (comment) for additional context and discussion.
The text was updated successfully, but these errors were encountered: