On 8/16/17 9:04 AM, Kagamin wrote:
On Wednesday, 16 August 2017 at 12:58:25 UTC, Steven Schveighoffer wrote:
Use cases don't matter. What matters is: is it proper for Variant to call the postblit (as it does currently) without regard for the qualifiers?

Looks like it isn't, https://dpaste.dzfl.pl/183e6dae9867 - shared reference counter with (probably) good enough postblit.

I have found that shared dtor doesn't work:

struct S
{
  ~this() shared {}
}

void main()
{
shared S s; // Error: shared method testshared.S.~this is not callable using a non-shared object
}

But shared postblit does work.

Kind of a bummer. Though I think we need some work on the destructors and postblits -- you can't overload them based on qualifiers.

But that isn't a concern for Variant. It is only calling the postblit, which does work.

-Steve

Reply via email to