mirror of https://github.com/icsharpcode/ILSpy.git
Browse Source
Widening the compiler matrix answers the open review question on the Issue3230 fixture guard empirically: a class naming its own nested interface in its base list is a Roslyn-era relaxation. The legacy csc rejects every such shape with CS0146 (circular base class dependency, it never reaches the accessibility check), mcs 2.6.4 rejects them with CS0122/CS0146, and mcs 5.23 accepts them all, rejects naming a base class's protected nested interface with the same CS0122 as Roslyn, and emits the same transitive InterfaceImpl metadata. The fixtures are therefore gated to ROSLYN || MCS5, which exercises the base-list filter on mcs-generated metadata as well. The pre-existing class C needs MCS2-specific expected output because mcs 2.6.4 reorders interface-impl rows and explicit implementations in metadata. Assisted-by: Claude:claude-fable-5:Claude Codepull/3949/head
2 changed files with 18 additions and 2 deletions
Loading…
Reference in new issue