Dでは、immutable
は推移的であるため、不変構造のフィールドへの割り当ては禁止されています。私の知る限り、不変の構造変数は決して変更されないことが強く保証されており、その内容もすべてです。
しかし、私がこのようなことを宣言した場合はどうなりますか?
struct OpaqueData;
immutable(OpaqueData*) data;
Dで実装されておらず、場合によっては間接性を持つ構造の推移的な不変性をDはどのように保証できますか?
不透明(OPAQUE)データへのそのような種類のポインタを不変クラスにカプセル化する正しい方法は何ですか?