const AB c = {a,20, numbers};
Timon Gehr
timon.gehr at gmx.ch
Mon Apr 16 13:54:40 PDT 2012
On 04/16/2012 06:49 PM, bearophile wrote:
> sclytrack:
>
...
>>
>> Shouldn't the code above accept the const(int []) ?
>
I think it is a bug that it does not.
> I think you are asking too much to the poor type system. You are giving
> a const dynamic array (that's not a value) to assign it to a mutable
> variable, and then you want to assign the result to a const value. The
> type system is not able to perform those jumps.
>
What he is asking for are initializer list struct literals for qualified
struct types.
> But this seems to work:
>
> struct AB {
> int a, b;
> int [] numbers;
> }
> void main() {
> import std.stdio;
> int a = 300;
> const numbers = new int[2];
> const c = const(AB)(a, 20, numbers);
> writeln(c);
> }
>
> Bye,
> bearophile
auto c = AB(a, 20, numbers) <=> AB c = {a, 20, numbers};
auto c = const(AB)(a, 20, numbers) <=> const AB c = {a, 20, numbers};
More information about the Digitalmars-d-learn
mailing list