[dmd-beta] 2.067.0-b2

Martin Nowak via dmd-beta dmd-beta at puremagic.com
Wed Feb 18 15:45:21 PST 2015


On 02/18/2015 07:20 PM, Jacob Carlborg wrote:
> On 18 feb 2015, at 13:35, Martin Nowak via dmd-beta <dmd-beta at puremagic.com> wrote:
>
>> The other problem is an unfortunately inevitable backwards incompatibility introduced by making synchronized nothrow.
>> Vibe.d is one of the few programs that inherit from core.sync.*
>> classes which now have nothrow lock/unlock methods.
>
> Tango has the same problem.

:(
How hard is it to make them nothrow?

If they already are logically nothrow, but it's too much effort to mark 
all dependencies, you can use this simple fix.

static if (__VERSION__ <= 2066)
     scope (failure) assert(0, "unexpected exception");

We can't deprecate throwing IMonitor lock/unlock methods, because you 
can't overload/inherit a function that only differs by nothrow.


More information about the dmd-beta mailing list