I am trying to create a wrapper type around a cxx::UniquePtr<A>.
I want to implement struct B(UniquePtr<A>) with
Deref<Target=UniquePtr<A>> for B
but also
DerefMut<Target=Pin<&mut A>> for B {}
Is this a terrible idea or even possible? The whole point of B is to hide the type complexity of UniquePtr<A>. Right now I am forcing my users to call .pin_mut() every time they want to do something and it is quite ugly and breaks their code auto completion. Does anyone have any suggestions or resources I should look at to clean up the interface?