Thread overview |
---|
November 24, 2007 [Issue 1692] New: Abstract class dynamic creation bug | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=1692 Summary: Abstract class dynamic creation bug Product: D Version: 1.023 Platform: PC OS/Version: Windows Status: NEW Severity: major Priority: P2 Component: DMD AssignedTo: bugzilla@digitalmars.com ReportedBy: jaroslav.kroft@seznam.cz Hi, here is some piece of code which most probably doesn't work one expect to. version (Tango) { import tango.io.Console; pragma(lib, "tango-user-dmd"); } else { import std.stdio; } class AbstractError: Error { this (char[] msg = null) { super(msg); } } abstract class Dummy { public { this() { if (!this) { throw new AbstractError(); } } } char[] Value(); } int main(char[][] args) { ClassInfo ci = ClassInfo.find("hello.Dummy"); if (ci) { Object o = ci.create(); if (o) { version (Tango) { Cout(o.toUtf8); } else { writef(o.toString); } } } return 0; } This code would compile without any error, but when you try to run, you will receive AV most probably directly in the constructor. I guess that in this case the call of ClassInfo.create should either return null or throw some kind of error.... -- |
November 25, 2008 [Issue 1692] Abstract class dynamic creation bug | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=1692 samukha@voliacable.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |samukha@voliacable.com ------- Comment #1 from samukha@voliacable.com 2008-11-25 08:06 ------- *** Bug 2453 has been marked as a duplicate of this bug. *** -- |
April 23, 2009 [Issue 1692] Abstract class dynamic creation bug | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=1692 ------- Comment #2 from gide@nwawudu.com 2009-04-23 05:01 ------- Added example from Bug 2453. abstract class C { } void main() { auto c = cast(C)C.classinfo.create(); assert(c is null); // should pass or classinfo.create should throw an exception } -- |
July 01, 2011 [Issue 1692] Abstract class dynamic creation bug | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=1692 yebblies <yebblies@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch CC| |yebblies@gmail.com Component|DMD |druntime Platform|x86 |All OS/Version|Windows |All --- Comment #3 from yebblies <yebblies@gmail.com> 2011-07-01 19:57:29 EST --- The bug is primarily in druntime, but requires a dmd change to pass more information along. https://github.com/D-Programming-Language/dmd/pull/186 https://github.com/D-Programming-Language/druntime/pull/34 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
September 14, 2011 [Issue 1692] Abstract class dynamic creation bug | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=1692 yebblies <yebblies@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |opantm+spam@gmail.com --- Comment #4 from yebblies <yebblies@gmail.com> 2011-09-14 22:36:40 EST --- *** Issue 6667 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation