Mercurial > projects > ldc
view tests/mini/classes6.d @ 657:c42173b3557b
Removed some checks for abstract llvm types that were too strict, a 'opaque* null' is a valid initializer... when structs in D can be just a forward reference.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Mon, 06 Oct 2008 14:37:00 +0200 |
parents | 44f08170f4ef |
children | 6aaa3d3c1183 |
line wrap: on
line source
module classes6; extern(C) int printf(char*, ...); class C { void f() { printf("world\n"); } } class D : C { void f() { printf("moon\n"); } } extern(C) { void srand(uint seed); int rand(); } import llvmdc.intrinsics; void main() { C c; srand(readcyclecounter()); if (rand() % 2) c = new C; else c = new D; c.f(); }