digitalmars.D.bugs - Properties as template value parameters
- Don Clugston (13/13) Nov 28 2005 Seems to be an order-of-evaluation bug.
- John C (5/18) Nov 28 2005 Works if you cast bird to char[]:
- Don Clugston (8/39) Nov 28 2005 Indeed, many minor changes will let it compile, eg
- Thomas Kuehne (13/26) Dec 04 2005 -----BEGIN PGP SIGNED MESSAGE-----
Seems to be an order-of-evaluation bug.
Fails to compile on DMD 0.140, Windows.
--------------
template cat(int n)
{
const int dog = n;
}
const char [] bird = "canary";
const int sheep = cat!(bird.length).dog;
int main() { return 0; }
--------------
bug.d(9): no property 'length' for type 'char[]'
----------------
Nov 28 2005
"Don Clugston" <dac nospam.com.au> wrote in message news:dmef15$1nll$1 digitaldaemon.com...Seems to be an order-of-evaluation bug. Fails to compile on DMD 0.140, Windows. -------------- template cat(int n) { const int dog = n; } const char [] bird = "canary"; const int sheep = cat!(bird.length).dog;Works if you cast bird to char[]: const int sheep = cat!((cast(char[])bird).length).dog; printf("%d\n", sheep); // prints '6'int main() { return 0; } -------------- bug.d(9): no property 'length' for type 'char[]' ----------------
Nov 28 2005
John C wrote:"Don Clugston" <dac nospam.com.au> wrote in message news:dmef15$1nll$1 digitaldaemon.com...Indeed, many minor changes will let it compile, eg const int sheep = cat!((""~ bird).length).dog; and const int pig = bird.length; const int sheep = cat!(pig).dog; (I got sick of a,b,c in bug reports, from now on I'll use animals :-) Of course insects would be more appropriate).Seems to be an order-of-evaluation bug. Fails to compile on DMD 0.140, Windows. -------------- template cat(int n) { const int dog = n; } const char [] bird = "canary"; const int sheep = cat!(bird.length).dog;Works if you cast bird to char[]: const int sheep = cat!((cast(char[])bird).length).dog; printf("%d\n", sheep); // prints '6'int main() { return 0; } -------------- bug.d(9): no property 'length' for type 'char[]' ----------------
Nov 28 2005
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Don Clugston schrieb am 2005-11-28:
Seems to be an order-of-evaluation bug.
Fails to compile on DMD 0.140, Windows.
--------------
template cat(int n)
{
const int dog = n;
}
const char [] bird = "canary";
const int sheep = cat!(bird.length).dog;
int main() { return 0; }
--------------
bug.d(9): no property 'length' for type 'char[]'
----------------
Added to DStress as
http://dstress.kuehne.cn/run/t/template_22.d
http://dstress.kuehne.cn/run/t/template_class_15.d
http://dstress.kuehne.cn/run/t/template_struct_06.d
Thomas
-----BEGIN PGP SIGNATURE-----
iD8DBQFDk0x83w+/yD4P9tIRAiyeAKDLPIVbZEeUEerdcj1f6yW49yDFxwCeIM2o
ajFvNDtVF3EUC0oapTQfZFw=
=29a+
-----END PGP SIGNATURE-----
Dec 04 2005









Don Clugston <dac nospam.com.au> 