Example: --- void f() { scope A a = new A(); delete a; } --- Produces the following codegen, which is not entirely desirable. --- void f() { A a = A.init; __ctor (&a); _d_callfinalizer (a); _d_callfinalizer (a); // Call always inserted by the compiler. } --- See here for when it came up. https://github.com/D-Programming-Language/dmd/pull/4860/files#diff-59055e7d57cf8be77c7e30104955e8fdL640
Presumably this can be closed now `delete` is gone: Error: the `delete` keyword is obsolete
Yes.