[Issue 547] New: Accessing a deprecated member variable through an explicit object reference is not caught
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Nov 17 12:05:57 PST 2006
http://d.puremagic.com/issues/show_bug.cgi?id=547
Summary: Accessing a deprecated member variable through an
explicit object reference is not caught
Product: D
Version: 0.174
Platform: PC
OS/Version: Windows
Status: NEW
Keywords: accepts-invalid
Severity: normal
Priority: P2
Component: DMD
AssignedTo: bugzilla at digitalmars.com
ReportedBy: smjg at iname.com
The following code accesses the deprecated members of the class in different
ways. The body of the function test thus contains no legal statement (if
compiling without -d) but nonetheless compiles without error.
----------
import std.stdio;
class ClassWithDeps {
deprecated int value;
deprecated static int staticValue;
void test(ClassWithDeps obj) {
obj.value = 666;
obj.staticValue = 102;
this.value = 666;
this.staticValue = 103;
ClassWithDeps.staticValue = 104;
writefln(obj.value);
writefln(obj.staticValue);
writefln(this.value);
writefln(this.staticValue);
writefln(ClassWithDeps.staticValue);
}
}
----------
The same happens if a struct or union is used instead of a class.
--
More information about the Digitalmars-d-bugs
mailing list