[Issue 586] New: Cannot index tuple with non-type elements
Thomas Kuehne
thomas-dloop at kuehne.cn
Sat Nov 25 10:02:36 PST 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
d-bugmail at puremagic.com schrieb am 2006-11-23:
> http://d.puremagic.com/issues/show_bug.cgi?id=586
> Take the following code:
>
> template Tu(T ...) {
> alias T[1] Tu; // Line 2
> }
>
> void foo() { }
>
> void main() {
> alias Tu!(real, int) T; // Works, no problem.
> alias Tu!(4, int) U; // Results in error.
> alias Tu!(foo, int) V; // Results in error.
> alias Tu!("a", int) W; // Results in error.
> }
>
> The error in all three cases is:
>
> test.d(2): tuple T is used as a type
> test.d(X): template instance test.Tu!(<whatever>, int) error instantiating
>
> Any tuple containing elements which are not types cannot be indexed. This
> limits certain kinds of advanced template code.
>
> Bug 533 is a consequence of this bug. Bug 582 is essentially the same bug, but
> refers to slicing tuples rather than indexing them.
Added to DStress as
http://dstress.kuehne.cn/compile/t/tuple_04_A.d
http://dstress.kuehne.cn/compile/t/tuple_04_B.d
http://dstress.kuehne.cn/compile/t/tuple_04_C.d
http://dstress.kuehne.cn/compile/t/tuple_04_D.d
http://dstress.kuehne.cn/compile/t/tuple_04_E.d
http://dstress.kuehne.cn/compile/t/tuple_04_F.d
http://dstress.kuehne.cn/compile/t/tuple_04_G.d
Thomas
-----BEGIN PGP SIGNATURE-----
iD8DBQFFaI9YLK5blCcjpWoRAh5gAJoCHpGLGO1LRaQL9+xe0x4YhOgYxgCfVpYg
CkX8VYBKc4X7fOVmS6zcHkw=
=NTfb
-----END PGP SIGNATURE-----
More information about the Digitalmars-d-bugs
mailing list