https://issues.dlang.org/show_bug.cgi?id=15912

[email protected] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |[email protected]
         Resolution|---                         |INVALID

--- Comment #1 from [email protected] ---
(In reply to andy.pj.hanson from comment #0)
> This code successfully compiles, but fails to link:
> 
>       abstract class A {
>               void x();
>       }
> 
>       void main() {
>               new class A {};
>       }

The same happens with a named class (undefined reference to A.x):
----
abstract class A {void x();}
class B : A {}
void main() {new B;}
----

This is expected. x is not abstract here. It's supposed to be implemented
externally.

To make it a compile error, make x abstract:
----
abstract class A {
    abstract void x();
}

void main() {
    new class A {}; /* Error: cannot create instance of abstract class
__anonclass1 */
}
----

Closing as invalid. Feel free to reopen if you think I'm missing something.

--

Reply via email to