digitalmars.D.bugs - typedef, implicit cast, bug or feature?
- Anders Runesson (16/16) Jul 16 2006 I'm not sure if this is me missing something, or if it's a bug:
- Thomas Kuehne (14/30) Sep 14 2006 -----BEGIN PGP SIGNED MESSAGE-----
I'm not sure if this is me missing something, or if it's a bug:
********
import std.stdio;
class BaseClass {
int BaseProp() { return 1; }
}
typedef BaseClass ClassTypedef;
void testfunc(ClassTypedef t) { writefln(t.BaseProp()); }
*************
this gives the compiler message:
test.d(9): this for BaseProp needs to be type BaseClass not type
ClassTypedef
The docs say that typedefs can be implicitly cast to their underlying
type, so why can't t be used as a BaseClass reference? Seems like a bug
to me.
/Anders
Jul 16 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Anders Runesson schrieb am 2006-07-16:
I'm not sure if this is me missing something, or if it's a bug:
********
import std.stdio;
class BaseClass {
int BaseProp() { return 1; }
}
typedef BaseClass ClassTypedef;
void testfunc(ClassTypedef t) { writefln(t.BaseProp()); }
*************
this gives the compiler message:
test.d(9): this for BaseProp needs to be type BaseClass not type
ClassTypedef
The docs say that typedefs can be implicitly cast to their underlying
type, so why can't t be used as a BaseClass reference? Seems like a bug
to me.
/Anders
Added to DStress as
http://dstress.kuehne.cn/run/t/typedef_19_A.d
http://dstress.kuehne.cn/run/t/typedef_19_B.d
http://dstress.kuehne.cn/run/t/typedef_19_C.d
http://dstress.kuehne.cn/run/t/typedef_19_D.d
Thomas
-----BEGIN PGP SIGNATURE-----
iD8DBQFFCQePLK5blCcjpWoRAjOTAJ0Wq+EMvhRz5tVhKPnunjZrJo2hOwCfU2XV
UlT5ZGmQvjqjvI0H1nKWG1Y=
=8LzP
-----END PGP SIGNATURE-----
Sep 14 2006








Thomas Kuehne <thomas-dloop kuehne.cn>