Manually merge in WeakPtr.h