digitalmars.D.bugs - static opIndex not working with templated class
- Ivan Senji (18/18) Oct 24 2005 Given this code:
- Thomas Kuehne (12/30) Oct 28 2005 -----BEGIN PGP SIGNED MESSAGE-----
Given this code: class array(T) { static T[] opIndex(T[] a ...) { return a.dup; } } This doesn't work: float[] a = array!(float)[1,2,3]; DMD(0.135) Compiler complains: animacija.d(48): only one index allowed to index void animacija.d(48): class array must be an array or pointer type, not void animacija.d(48): cannot implicitly convert expression (class array[1]) of type int to float[] But this works: alias array!(float) type; float[] a = type[1,2,3];
Oct 24 2005
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Ivan Senji schrieb am 2005-10-24:Given this code: class array(T) { static T[] opIndex(T[] a ...) { return a.dup; } } This doesn't work: float[] a = array!(float)[1,2,3]; DMD(0.135) Compiler complains: animacija.d(48): only one index allowed to index void animacija.d(48): class array must be an array or pointer type, not void animacija.d(48): cannot implicitly convert expression (class array[1]) of type int to float[] But this works: alias array!(float) type; float[] a = type[1,2,3];Added to DStress as http://dstress.kuehne.cn/run/t/template_class_11_A.d http://dstress.kuehne.cn/run/t/template_class_11_B.d Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFDYi3n3w+/yD4P9tIRAtkeAJ9SQi7cpQLT4xFL96EeiI3t4D+ZhgCfXDml 6tdP+9z+ij9vJafDq8+UV8I= =Rscr -----END PGP SIGNATURE-----
Oct 28 2005