[dmd 2.066] Is scope with nothrow regression?

hane via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Jul 6 15:03:19 PDT 2014


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


More information about the Digitalmars-d-learn mailing list