digitalmars.D.bugs - DMD 141 ~ Templates, and member visibility errors
- Kris (28/28) Dec 17 2005 class FooTemplate(T) : BarTemplate!(T)
 - Kris (3/32) Dec 17 2005 Uhh, sorry. Here's a link where the noted line numbers will match:
 - Thomas Kuehne (14/33) Dec 18 2005 -----BEGIN PGP SIGNED MESSAGE-----
 
class FooTemplate(T) : BarTemplate!(T)
{
}
class BarTemplate(T) : Wumpus
{
        this (){ff=false;}
}
class Wumpus
{
        private bool ff;
}
void main()
{
        auto f = new FooTemplate!(char);
}
It's all in the same module, so 'ff' should be visible. Also have cases 
where 'protected' exhibits similar behavior ~ had to use "package" there to 
get visibility within a subclass, although everthing is in one module.
Also have a bizzare situation whereby the implementation of an abstract 
base-class is being recognized or ignored, depending on the order of the 
methods within the class. Tried to whittle that one down, but it wouldn't 
trip in a small test case. See here for the code where that particular 
problem exists: 
http://trac.dsource.org/projects/mango/browser/trunk/mango/text/String.d
Line 687 describes the base-class issue (the culprit method is at line 
1209), and line 703 illustrates the visibility issue (should be protected 
but apparently cannot be). 
 Dec 17 2005
Uhh, sorry. Here's a link where the noted line numbers will match: 
http://trac.dsource.org/projects/mango/browser/trunk/mango/text/String.d?rev=671
"Kris" <fu bar.com> wrote in message news:do2bam$2ab0$1 digitaldaemon.com...
 class FooTemplate(T) : BarTemplate!(T)
 {
 }
 class BarTemplate(T) : Wumpus
 {
        this (){ff=false;}
 }
 class Wumpus
 {
        private bool ff;
 }
 void main()
 {
        auto f = new FooTemplate!(char);
 }
 It's all in the same module, so 'ff' should be visible. Also have cases 
 where 'protected' exhibits similar behavior ~ had to use "package" there 
 to get visibility within a subclass, although everthing is in one module.
 Also have a bizzare situation whereby the implementation of an abstract 
 base-class is being recognized or ignored, depending on the order of the 
 methods within the class. Tried to whittle that one down, but it wouldn't 
 trip in a small test case. See here for the code where that particular 
 problem exists: 
 http://trac.dsource.org/projects/mango/browser/trunk/mango/text/String.d
 Line 687 describes the base-class issue (the culprit method is at line 
 1209), and line 703 illustrates the visibility issue (should be protected 
 but apparently cannot be).
 
 Dec 17 2005
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Kris schrieb am 2005-12-18:
 class FooTemplate(T) : BarTemplate!(T)
 {
 }
 class BarTemplate(T) : Wumpus
 {
         this (){ff=false;}
 }
 class Wumpus
 {
         private bool ff;
 }
 void main()
 {
         auto f = new FooTemplate!(char);
 }
 It's all in the same module, so 'ff' should be visible. Also have cases 
 where 'protected' exhibits similar behavior ~ had to use "package" there to 
 get visibility within a subclass, although everthing is in one module.
Added to DStress as
http://dstress.kuehne.cn/run/p/private_09_A.d
http://dstress.kuehne.cn/run/p/private_09_B.d
http://dstress.kuehne.cn/run/p/private_09_C.d
http://dstress.kuehne.cn/run/p/private_09_D.d
Thomas
-----BEGIN PGP SIGNATURE-----
iD8DBQFDpfw+3w+/yD4P9tIRAq2kAJ9CJlNb1C0ewUNQGkkuAssJmPxuCACgnO4n
nCPsebt462X7tOTDzjQMkfA=
=hXok
-----END PGP SIGNATURE-----
 Dec 18 2005








 
 
 
 "Kris" <fu bar.com> 