Don't produce unnecessary default interface methods (#67409)
authorMichal Strehovský <MichalStrehovsky@users.noreply.github.com>
Fri, 1 Apr 2022 05:33:57 +0000 (14:33 +0900)
committerGitHub <noreply@github.com>
Fri, 1 Apr 2022 05:33:57 +0000 (14:33 +0900)
commit665a0b11bde71b9c88b7c32117e941473caebd48
tree8206a5ea010d0a3fb709fbacb904f910a8ca58c9
parent9b2e2a830a4e2e67c920aa200329533baba5c363
Don't produce unnecessary default interface methods (#67409)

Found this because it was asserting in one of the Pri-0 tests. We were trying to generate a special instantiating stub for an interface type that was not a dynamic interface castable implementation. I'm adding a regression test too because it has a visible outside behavior besides the assert.
src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/EETypeNode.cs
src/tests/nativeaot/SmokeTests/DeadCodeElimination/DeadCodeElimination.cs