[dmd 2.066] Is scope with nothrow regression?
hane via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sun Jul 6 17:08:23 PDT 2014
On Sunday, 6 July 2014 at 22:03:21 UTC, hane wrote:
> On Sunday, 6 July 2014 at 12:31:42 UTC, NCrashed wrote:
>>
>> ```
>> void bar()
>> {
>> throw new Exception("");
>> }
>>
>> void foo() nothrow
>> {
>> scope(failure) {}
>> bar();
>> }
>>
>> void main() {}
>> ```
>> Doesn't compile with 2.066:
>> ```
>> source/app.d(9): Error: 'app.bar' is not nothrow
>> source/app.d(6): Error: function 'app.foo' is nothrow yet may
>> throw
>> ```
>
> This is a bug which was already fixed.
> Instead, you can use this:
> scope(failure) assert(0);
>
> See: https://issues.dlang.org/show_bug.cgi?id=11542
To be exact: "a bug" I said is that scope(failure) { } breaks
nothrow checking.
More information about the Digitalmars-d-learn
mailing list