TrivialDrop
, as it is named here, does mean something: it means the type and all its transitive constituents have no custom disposal logic, and to destroy a value of the type it suffices to deallocate its backing memory with no other actions performed. This property is currently impossible to express in the trait system except indirectly, through a Copy
bound, but that has other consequences that may not always be desirable. OP links to a comment of mine under an RFC where having a way to express this property was quite crucial.
The same functionality was proposed by myself in the above-mentioned comment under the name Forget
, and earlier by @canndrew under the same name; @glaebhoerl also sketched the basic idea on Reddit, with the name DropIsForget
. I think it's telling that multiple people stumbled upon this idea independently.