Trimmer implementation of type hierarchy marking shows order dependent behavior #86580
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
This bug is only observable after a fix from: #86635
But the bug exists in the code base today, it's just that without the PR above it actually shows even wrong marking behavior.
In the above example, the type hierarchy marking is triggered by:
In this case the trimmer produces
IL2113
because the marking is first triggered onDerived
and that triggers marking of methods which show up as accessible throughDerived
but declared onBase
(IL2113
is for methods from base,IL2112
is for method on the type itself).But if the same is triggered by:
Then there will be no
IL2113
instead there will beIL2112
on theBase.VirtualMethodWithRequires
directly.So if the program has both access patterns in it, then the diagnostics behavior is dependent on which order trimmer will process it in. The behavior should be consistent.
The text was updated successfully, but these errors were encountered: