immutable promise broken in unions?
Shriramana Sharma via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Jan 2 02:04:47 PST 2016
import std.stdio;
union EarthLocation
{
struct { immutable double lon, lat, alt; }
double[3] data;
}
void main()
{
EarthLocation d = {data: [4, 5, 6]};
writeln(d.data);
d.data = [1, 2, 3];
writeln(d.data);
}
I get the output:
[4, 5, 6]
[1, 2, 3]
I thought the promise of `immutable` was: never changes, whether via this
interface or otherwise. How does then the above work?
Using DMD 2.0.69.2 on Kubuntu 64 bit.
--
Shriramana Sharma, Penguin #395953
More information about the Digitalmars-d-learn
mailing list