digitalmars.D.bugs - [ .. ] isn't parsed correctly in nested template char[] parameters
- Don Clugston (21/21) Jan 12 2006 The error message is:
- Thomas Kuehne (20/41) Jan 15 2006 -----BEGIN PGP SIGNED MESSAGE-----
The error message is: found '..' when expecting ']' But it compiles correctly if parentheses are used around either of the slice arguments. It only seems to happen if the string itself comes from another char[] parameter. Tested on DMD 0.141, 0.142 and 0.143. ----------------------------------------- template whale(char [] walrus) { const char [] whale = walrus; } template dolphin(char [] fish) { // const char [] dolphin = fish[0..3]; // OK // const char [] dolphin = whale!(fish[0..(3)]); // OK // const char [] dolphin = whale!(fish[(0)..3]); // OK const char [] dolphin = whale!(fish[0..3]); // fails } //const char [] urchin = whale!("anenome"[0..3]); // OK const char [] urchin = dolphin!("anenome");
Jan 12 2006
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Don Clugston schrieb am 2006-01-12:The error message is: found '..' when expecting ']' But it compiles correctly if parentheses are used around either of the slice arguments. It only seems to happen if the string itself comes from another char[] parameter. Tested on DMD 0.141, 0.142 and 0.143. ----------------------------------------- template whale(char [] walrus) { const char [] whale = walrus; } template dolphin(char [] fish) { // const char [] dolphin = fish[0..3]; // OK // const char [] dolphin = whale!(fish[0..(3)]); // OK // const char [] dolphin = whale!(fish[(0)..3]); // OK const char [] dolphin = whale!(fish[0..3]); // fails } //const char [] urchin = whale!("anenome"[0..3]); // OK const char [] urchin = dolphin!("anenome");Added to DStress as http://dstress.kuehne.cn/run/t/template_24_A.d http://dstress.kuehne.cn/run/t/template_24_B.d http://dstress.kuehne.cn/run/t/template_24_C.d http://dstress.kuehne.cn/run/t/template_24_D.d http://dstress.kuehne.cn/run/t/template_24_E.d http://dstress.kuehne.cn/run/t/template_24_F.d http://dstress.kuehne.cn/run/t/template_24_G.d http://dstress.kuehne.cn/run/t/template_24_H.d http://dstress.kuehne.cn/run/t/template_24_I.d http://dstress.kuehne.cn/run/t/template_24_J.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFDyjrk3w+/yD4P9tIRAkM+AJ48hNLHO0PWdVzOJT+Z5xTQpz296wCeIUOV Y1FIwpT4woveCGNxv7q1+nA= =+g6u -----END PGP SIGNATURE-----
Jan 15 2006