Comment #0 by mihails.strasuns — 2018-12-03T13:54:28Z
Results in `@nogc` annotation being ignored while GC allocations still happens:
```
void main () @nogc
{
throw new Exception("wat");
}
```
```
dmd -g -dip1008 test.d
```
```
Breakpoint 1, 0x0000555555589ddc in gc_malloc ()
(gdb) bt
#0 0x0000555555589ddc in gc_malloc ()
#1 0x0000555555587d76 in _d_newclass ()
#2 0x0000555555586a24 in D main () at test.d:3
```
Comment #1 by ilyayaroshenko — 2018-12-03T14:37:16Z
Confirmed for LDC too. _d_allocclass is called on Windows and Linux.
Comment #2 by atila.neves — 2018-12-03T15:33:24Z
I looked into this as well with dmd 2.083.0. The `d_newThrowable` symbol doesn't even show up in the final binary, much less get called.
Comment #3 by dlang-bot — 2019-03-24T05:31:14Z
@WalterBright created dlang/dmd pull request #9481 "fix Issue 19463 - DIP1008 - _d_newclass is called instead of _d_newTh…" fixing this issue:
- fix Issue 19463 - DIP1008 - _d_newclass is called instead of _d_newThrowable
https://github.com/dlang/dmd/pull/9481
*** Issue 19317 has been marked as a duplicate of this issue. ***
Comment #6 by dlang-bot — 2019-03-26T04:46:58Z
dlang/dmd pull request #9481 "fix Issue 19463 - DIP1008 - _d_newclass is called instead of _d_newTh…" was merged into master:
- 3101a054c11d3a5f30508724b7e1132b4e2631ea by Walter Bright:
fix Issue 19463 - DIP1008 - _d_newclass is called instead of _d_newThrowable
https://github.com/dlang/dmd/pull/9481