Open
Description
It is clear that there is a need for the ability to move out of smart pointers and indexable things (DerefMove
, IndexMove
). The other frequently desired option is to IndexSet
, which would be a special-cased version for indexing in this situation:
map[key] = value
currently, this is handled via IndexMut
, but that is sub-optimal, because if the key
is not already part of the map
, the result is a panic.
Basic plan
DerefMove/IndexMove/IndexSet should layer on top of the traits we have now. One needs to be careful here because of subtle interactions with autoref and so forth.