Is it possible to be memory-safe with deallocated `*self`?