| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/ice10016.d(33): Error: undefined identifier `unknownIdentifier` |
| fail_compilation/ice10016.d(47): Error: template instance `ice10016.RefCounted!(S)` error instantiating |
| --- |
| */ |
| |
| struct RefCounted(T) |
| { |
| struct RefCountedStore |
| { |
| struct Impl |
| { |
| T _payload; |
| } |
| Impl* _store; |
| } |
| RefCountedStore _refCounted; |
| |
| void opAssign(typeof(this)) { } |
| void opAssign(T) { } |
| |
| @property refCountedPayload() |
| { |
| return _refCounted._store._payload; |
| } |
| alias refCountedPayload this; |
| } |
| |
| struct S |
| { |
| int i = unknownIdentifier; |
| } |
| |
| class C {} |
| |
| class N |
| { |
| this(C) {} |
| C c() { return null; } |
| } |
| |
| class D : N |
| { |
| this() { super(c); } |
| RefCounted!S _s; |
| } |