Handle custom deref returning fat pointers

Closes #16930
auto merge of #16954 : nick29581/rust/dst-bug-deref, r=nikomatsakis

Closes #16930 

r?