digitalmars.D - How do you copy a const struct to a mutable?
- Malte Skarupke (15/15) Oct 31 2012 I want to get this to compile:
- bearophile (11/12) Oct 31 2012 In D when you define a struct inside a function, it's not a POD
I want to get this to compile: void main() { struct A { this(int x) { this.x = x; } int x; } const(A) a = A(5); A b = a; } It should clearly be legal to create a non-const copy of the struct. What am I missing in order to do this? Cheers, Malte
Oct 31 2012
Malte Skarupke:What am I missing in order to do this?In D when you define a struct inside a function, it's not a POD any more. If you define it as "static struct A" instead of "struct A", your code will compile. Unfortunately DMD gives a too much generic error message in this case, it doesn't explain what's the problem: test.d(7): Error: cannot implicitly convert expression (a) of type const(A) to A Bye, bearophile
Oct 31 2012