Not sure .. is this a bug?

downs default_357-line at yahoo.de
Fri Jun 29 12:51:08 PDT 2007


nick Wrote:

> Downs wrote:
> > import std.stdio;
> > 
> > class foo { int e; abstract const void bar(); }
> > 
> > class bug: foo { void bar() { writefln("I NOW CHANGEZ TEH OBJECTS"); e=5; } }
> > 
> > void main() {
> >   const(bug) okay=new bug;
> >   // okay.bar; fails as expected
> >   const(foo) Bug=cast(foo)okay;
> >   Bug.bar; // interestingly works.
> > }
> > 
> > From my POV, the Bug.bar is modifying data it shouldn't be able to modify, but then again, I'm rather new to the whole constness thing. So, is this a bug?
> >  -- downs
> Your code does not compile.
Hm.
Seeing as I wouldn't have posted it here if it didn't compile for me, how about a little more info? For example, what error did you get? What compiler version do you use? This is code for D 2.0, in case it wasn't clear from the use of const, so naturally it won't work on 1.0 compilers..
 -- downs



More information about the Digitalmars-d mailing list