The first overload exists only if autoInit == RefCountedAutoInitialize.yes.
So if autoInit == RefCountedAutoInitialize.no
or called for a constant or immutable object, then
refCountedPayload will also be qualified as safe and nothrow
(but will still assert if not initialized).
Returns a reference to the payload. If (autoInit == RefCountedAutoInitialize.yes), calls refCountedStore.ensureInitialized. Otherwise, just issues assert(refCountedStore.isInitialized). Used with alias refCountedPayload this;, so callers can just use the RefCountedNoGC object as a T.
The first overload exists only if autoInit == RefCountedAutoInitialize.yes. So if autoInit == RefCountedAutoInitialize.no or called for a constant or immutable object, then refCountedPayload will also be qualified as safe and nothrow (but will still assert if not initialized).