https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85858
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |RESOLVED Resolution|--- |INVALID --- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- It's completely logical. using const_int = const int; const int* p = new const_int(); Do you expect to never be able to delete this object, instead being forced to leak it? What about: void f() { const int i = 0; } Do you think this stack variable can't be destroyed, because it's const? The const qualifier affects modification of the object, not its destruction. Your mental model of C++ is simply not how the language works.