Thread overview | |||||
---|---|---|---|---|---|
|
January 13, 2012 About implicit array cast | ||||
---|---|---|---|---|
| ||||
This code compiles, because the [0,0] dynamic array literal casts implicitly to int[2]: int[2] foo() { return [0, 0]; // OK } void main() {} And of course this too compiles: int[2] bar() { int[2] ab; return (true) ? ab : ab; // OK } void main() {} But currently this code doesn't compile: int[2] spam() { int[2] ab; return (true) ? ab : [0, 0]; // Error } void main() {} test.d(3): Error: cannot implicitly convert expression (cast(int[])ab) of type int[] to int[2u] Is this good? Bye, bearophile |
January 13, 2012 Re: About implicit array cast | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | On 01/13/2012 02:19 AM, bearophile wrote:
> This code compiles, because the [0,0] dynamic array literal casts implicitly to int[2]:
>
>
> int[2] foo() {
> return [0, 0]; // OK
> }
> void main() {}
>
>
> And of course this too compiles:
>
>
> int[2] bar() {
> int[2] ab;
> return (true) ? ab : ab; // OK
> }
> void main() {}
>
>
>
> But currently this code doesn't compile:
>
>
> int[2] spam() {
> int[2] ab;
> return (true) ? ab : [0, 0]; // Error
> }
> void main() {}
>
>
> test.d(3): Error: cannot implicitly convert expression (cast(int[])ab) of type int[] to int[2u]
>
>
> Is this good?
>
> Bye,
> bearophile
This is a bug.
|
January 13, 2012 Re: About implicit array cast | ||||
---|---|---|---|---|
| ||||
Posted in reply to Timon Gehr | Timon Gehr: > This is a bug. OK: http://d.puremagic.com/issues/show_bug.cgi?id=7285 Bye, bearophile |
Copyright © 1999-2021 by the D Language Foundation