Previously, we treated weak_ptrs as normal types and we recursed
within them, following the internal data pointer and possibly causing
crashes. We really shouldn't be following them, so I added a custom
type to simply abort processing. If we want to handle them (ie: check
if they are valid, and follow them if so), that should be fairly easy
with the work there is here so far.
Folly updated the signature of small vec types here:
c0a4e11b31
I needed to add a new 'using' for policy_size_type, as this is commonly
used with this new template parameter.