Hmm, if proper implementation of a shared smart pointer is impossible, it probably means that such smart pointer should be typed unshared when passed around. But then it doesn't make sense to call unshared destructor on shared smart pointer anyway, because it's not designed to be typed shared. In this case absence of shared destructor will indicate that the object doesn't support being shared and the compiler should reject the code.

Reply via email to