1 /*
2 TEST_OUTPUT:
3 ---
4 fail_compilation/ice10016.d(33): Error: undefined identifier `unknownIdentifier`
5 fail_compilation/ice10016.d(47): Error: template instance ice10016.RefCounted!(S) error instantiating
6 ---
7 */
8 
RefCounted(T)9 struct RefCounted(T)
10 {
11     struct RefCountedStore
12     {
13         struct Impl
14         {
15             T _payload;
16         }
17         Impl* _store;
18     }
19     RefCountedStore _refCounted;
20 
21     void opAssign(typeof(this)) { }
22     void opAssign(T) { }
23 
24     @property refCountedPayload()
25     {
26         return _refCounted._store._payload;
27     }
28     alias refCountedPayload this;
29 }
30 
31 struct S
32 {
33     int i = unknownIdentifier;
34 }
35 
36 class C {}
37 
38 class N
39 {
this(C)40     this(C) {}
c()41     C c() { return null; }
42 }
43 
44 class D : N
45 {
this()46     this() { super(c); }
47     RefCounted!S _s;
48 }
49