On 03/23/2012 07:15 AM, Andrej Mitrovic wrote:
On 3/23/12, H. S. Teoh<hst...@quickfur.ath.cx>  wrote:
WAT?! What on earth is "cast()" supposed to mean??

I've no idea. It's probably a front-end bug and the cast forces the
compiler to.. come to its senses?

That part is not a bug, it is specified.

http://dlang.org/expression.html#CastExpression

"Casting with no Type or CastQual removes any top level const, immutable, shared or inout type modifiers from the type of the UnaryExpression."

What is a bug is that array initializers cannot be used to initialize structs through associative array alias this.

Maybe you are also missing that this is valid code:

int[] a = [1 : 2, 3 : 4];

This only works for initializers of the form [ ... ]. The cast() removes that possibility.

This is why the compiler gets confused.

Reply via email to