http://d.puremagic.com/issues/show_bug.cgi?id=3602
--- Comment #1 from Qian Xu <qian...@funkwerk-itk.com> 2009-12-08 08:49:26 PST --- Sorry for the first commit. The description is incomplete. Now the part 2: I have two classes as follows: ====== FILE: Box.d ====== module Box; class Box { void paint(int x, int y) in { assert(x > 0); assert(y > 0); } body { } } ====== FILE: Box.d ====== ====== FILE: ImageBox.d ====== module ImageBox; class ImageBox: Box { void override paint(int x, int y) in { assert(x > 0); assert(y > 0); } body { } } ====== FILE: ImageBox.d ====== I compile the Box.d using "dmd -w -debug -inline -version=Posix -version=Tango Box.d -c", it works. And then I compile the ImageBox.d using "dmd -w -debug -inline -version=Posix -version=Tango ImageBox.d -c", the dmd compile returns an error. ========= ERROR ========= Box.d(7): Error: function __require forward declaration linkage = 0 dmd: tocsym.c:381: virtual Symbol* FuncDeclaration::toSymbol(): Assertion `0' failed. Aborted ========= ERROR ========= Note that if I write "private" before this method paint, it works. I think this issue is pretty critical, now I have to remove all preconditions in my super classes. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------