4 fail_compilation/test13667.d(112): Error: cannot cast expression `this` of type `const(Array1!int)` to `Array1!int*`
5 fail_compilation/test13667.d(116): Error: template instance `test13667.Array1!int` error instantiating
6 fail_compilation/test13667.d(121): Error: cannot cast expression `this` of type `const(Array2!int)` to `B*`
7 fail_compilation/test13667.d(125): Error: template instance `test13667.Array2!int` error instantiating
8 fail_compilation/test13667.d(136): Error: cannot cast expression `this` of type `const(Array3!int)` to `C*`
9 fail_compilation/test13667.d(140): Error: template instance `test13667.Array3!int` error instantiating
10 fail_compilation/test13667.d(151): Error: cannot cast expression `this` of type `const(Array4!int)` to `D*`
11 fail_compilation/test13667.d(155): Error: template instance `test13667.Array4!int` error instantiating
12 fail_compilation/test13667.d(172): Error: cannot cast expression `this` of type `const(Array5!int)` to `F*`
13 fail_compilation/test13667.d(176): Error: template instance `test13667.Array5!int` error instantiating
17 // https://issues.dlang.org/show_bug.cgi?id=13667
20 // 0, no error but also crashed before
23 Array0!(T) impConv() const { return cast(typeof(return))this; }
27 alias AI0 = Array0!int;
32 Array1!(T) impConv() const { return *cast(typeof(return)*)this; }
36 alias AI1 = Array1!int;
41 B impConv() const { return cast(B*)this; }
45 alias AI2 = Array2!int;
49 AI2 get() { return AI2(); }
56 C impConv() const { return cast(C*)this; }
60 alias AI3 = Array3!int;
64 C get() { return C(); }
71 D impConv() const { return cast(D*)this; }
75 alias AI4 = Array4!int;
79 E get() { return E(); }
89 // 5: test enum based on struct, needed to use base type (toBasetype())
92 F impConv() const { return cast(F*)this; }
96 alias AI5 = Array5!int;