digitalmars.D.bugs - Possible bug with templates + protection attributes.
- Kevin VR (39/39) Apr 07 2005 Hello,
- Thomas Kuehne (11/50) Apr 07 2005 -----BEGIN PGP SIGNED MESSAGE-----
Hello,
We have discovered a possible bug which does not allow access of private
declared members in the same module when using template classes.
In the next example the class "Baz" works fine. If we take the same
thing however, and make a template class of it "Bar", the compiler fails
to compile, complaining about Bar.doSomething() being private.
According to the D-specs it should be accessible in the same module?
<code>
class Bar(Type)
{
this()
{
}
private void doSomething()
{
}
}
class Baz
{
this()
{
}
private void doSomething()
{
}
}
void main()
{
//this is ok
Baz a = new Baz();
a.doSomething();
//this fails
Bar!(int) b = new Bar!(int)();
b.doSomething();
}
</code>
The original post about this was in digitalmars.D.learn under
"Templates + protection attributes problem"
(news://news.digitalmars.com:119/d31ndi$amo$1 digitaldaemon.com)
Apr 07 2005
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Kevin VR schrieb am Fri, 08 Apr 2005 00:25:31 +0200:
Hello,
We have discovered a possible bug which does not allow access of private
declared members in the same module when using template classes.
In the next example the class "Baz" works fine. If we take the same
thing however, and make a template class of it "Bar", the compiler fails
to compile, complaining about Bar.doSomething() being private.
According to the D-specs it should be accessible in the same module?
<code>
class Bar(Type)
{
this()
{
}
private void doSomething()
{
}
}
class Baz
{
this()
{
}
private void doSomething()
{
}
}
void main()
{
//this is ok
Baz a = new Baz();
a.doSomething();
//this fails
Bar!(int) b = new Bar!(int)();
b.doSomething();
}
</code>
The original post about this was in digitalmars.D.learn under
"Templates + protection attributes problem"
(news://news.digitalmars.com:119/d31ndi$amo$1 digitaldaemon.com)
Added to DStress as
http://dstress.kuehne.cn/run/private_04.d
Thomas
-----BEGIN PGP SIGNATURE-----
iD8DBQFCVhsr3w+/yD4P9tIRAgu5AJ9jh5pME056e0RdoYuAPF6w3CtSVACggLNM
lNBBJ9i78kTvE+61u5m9p7E=
=8Cr2
-----END PGP SIGNATURE-----
Apr 07 2005








Thomas Kuehne <thomas-dloop kuehne.thisisspam.cn>