Code: --- void cpp_delete(T)(T instance) if (is(T == class)) { destroy!false(instance); __cpp_delete(instance); } --- Problem: __cpp_delete requires "void*" argument and classes don't implicitly convert to void*.
@n8sh updated dlang/druntime pull request #3284 "core.stdcpp.new_.cpp_delete unnecessarily requires destruction to be @nogc" fixing this issue: - Fix Issue 21421 - core.stdcpp.new_.cpp_delete does not work with classes https://github.com/dlang/druntime/pull/3284
dlang/druntime pull request #3284 "core.stdcpp.new_.cpp_delete unnecessarily requires destruction to be @nogc" was merged into stable: - a0acfb2f58fd688a7a4dcad5e51441e78fcba26f by Nathan Sashihara: Fix Issue 21421 - core.stdcpp.new_.cpp_delete does not work with classes https://github.com/dlang/druntime/pull/3284