[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