Thanks for the detailed answers!

Yes, I accept that immutable guarantees should be implemented only during @safe that doesn't call into @trusted.

On Friday, 15 February 2019 at 18:59:36 UTC, H. S. Teoh wrote:
At the very least, such [union] code should be automatically @system.

Sensible.

Honestly, I'm pretty sure that Rebindable technically
violates the type system to do what it does.

Hmm, I remember we discussed this, and I feel the same now about Rebindable. Either the spec gets extra rules for @trusted or unions, or Rebindable generates latent bugs.

Think of immutable as hint for the programmer, not for the compiler.

Right, if the compilers don't use it yet, I'm fine with that interpretation. It's merely strange that we have this very restrictive const/immutable that is advertized to help optimization, but then the compiler won't take advantage. Let's see how this develops in the long term, whether the spec gets clearer on the allowed optimization.

Reply via email to