I have wondered why you can’t destructure structs with destructor.
The idea would be that moving out of a struct prevents the struct’s destructor from being called and gets all the struct’s elements in the local namespace (or the individual elements get dropped when they’re not being matched).
I had a discussion about that in #rust, where people said that this could be unsafe in some cases. But in my opinion, destructuring a struct cannot cause more unsafety than being able to construct it in the first place
That means, privacy of the right elements prevent the struct from being unsafely destructured outside the owning module which already knows its inner workings.