On Wednesday, 13 January 2016 at 19:05:30 UTC, Josh Phillips wrote:
Oh wow that's easy. They should really make that more clear in the dlang reference. They way it sounds there made me think that if a function doesn't throw any errors it automatically is 'nothrow'

No, because actually you can have a function that uses sub-functions that throw, but marked explicitly nothrow, because it hides the stuff under the carpet.

---
void bar()
{
    throw new Exception("kaboom");
}

void foo() nothrow
{
  try {bar;}
  catch {/*under the carpet*/}
}
---

and that will compile.

Reply via email to