On Monday, 15 October 2018 at 18:46:45 UTC, Manu wrote:
If you write a lock-free queue for instance, and all the methods are `shared` (ie, threadsafe), then under the current rules, you can't
interact with the object when it's not shared, and that's fairly
useless.
Unless the compiler can show that it is ok to implicit/explicity convert the object to share without any unintended consequences. It should reject it. It seems that the better solution would to implement a implicit/explict covertion system similar to c# conversion Operators
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/statements-expressions-operators/using-conversion-operators

But that itself requires an DIP itself.

-Alex


Reply via email to