Fix Unmanaged.passRetained
Unmanaged.passRetained was originally implemented as:
- store the passed referenced into an unowned(unsafe) reference
- (the reference will now be released if the store is the last use)
- reload the unowned(unsafe) reference
- retain the reloaded reference
It should be implemented as:
- retain the passed reference
- store the passed reference to an unowned(unsafe) reference
Fixes rdar://105609600
(🔥 non-deterministic miscompile in stdlib's
_StringGuts.populateBreadcrumbs)