On Sunday, 17 August 2025 at 15:09:30 UTC, H. S. Teoh wrote:

If you want to pass an immutable pointer to S2.this, you need to use `inout`:

```d
struct S2
{
    int* my_x;
    this(inout(int)* x) inout { my_x = x; }
}

void main(string[] args) {
        immutable int i = 1;
        auto s2 = immutable(S2)(&i); // OK
}
```

Ah! I thought of inout, but it is not allowed on member variables. I didn't know that I can mark the constructor inout.

Many thanks, this works!
  • const objects Dom DiSc via Digitalmars-d-learn
    • Re: const objects H. S. Teoh via Digitalmars-d-learn
    • Re: const objects Dom DiSc via Digitalmars-d-learn

Reply via email to