1 interface I_Foo { void i_outer(); }
c_outer()2 class C_Foo { void c_outer() { } }
3 
4 class Bar
5 {
6     interface I_Foo { void i_inner(); }
c_inner()7     class C_Foo { void c_inner() { } }
8 
9     class Impl1 : C_Foo, I_Foo
10     {
i_inner()11         override void i_inner() { }
c_inner()12         override void c_inner() { }
13     }
14 
15     class Impl2 : C_Foo, .I_Foo
16     {
i_outer()17         override void i_outer() { }
c_inner()18         override void c_inner() { }
19     }
20 
21     class Impl3 : .C_Foo, I_Foo
22     {
i_inner()23         override void i_inner() { }
c_outer()24         override void c_outer() { }
25     }
26 
27     class Impl4 : .C_Foo, .I_Foo
28     {
i_outer()29         override void i_outer() { }
c_outer()30         override void c_outer() { }
31     }
32 }
33