digitalmars.D.bugs - [Issue 3774] New: should not be able to implicitly cast to private base class
- d-bugmail puremagic.com (48/48) Feb 05 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3774
- d-bugmail puremagic.com (12/12) Mar 17 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3774
http://d.puremagic.com/issues/show_bug.cgi?id=3774
Summary: should not be able to implicitly cast to private base
class
Product: D
Version: unspecified
Platform: Other
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody puremagic.com
ReportedBy: bugzilla digitalmars.com
18:05:00 PST ---
It seems I have been testing this with a buggy c++ compiler or
can't remember what was the problem previously. I now tried with gcc
4.4.3 and this is how D and C++ differ:
---
class Foo {
public:
void bar() {}
};
class Bar : private Foo {
};
int main() {
Foo *a = new Bar();
a->bar();
}
test.cpp: In function ‘int main()’:
test.cpp:10: error: ‘Foo’ is an inaccessible base of ‘Bar’
---
module m1;
class Foo {
public void bar() {}
}
class Bar : private foo {
}
module m2;
import m1;
void main() {
Foo a = new Bar();
a.bar();
}
// compiles and runs just fine
// Changing the 'Foo a = ...' into 'Bar a = ...' makes this an error
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 05 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3774
Stewart Gordon <smjg iname.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |smjg iname.com
Resolution| |DUPLICATE
*** This issue has been marked as a duplicate of issue 2563 ***
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 17 2010








d-bugmail puremagic.com