SILValue RValue::forwardAsSingleStorageValue(SILGenFunction &gen, SILType storageType, SILLocation l) && { assert(isComplete() && "rvalue is not complete"); SILValue result = std::move(*this).forwardAsSingleValue(gen, l); return gen.emitConversionFromSemanticValue(l, result, storageType); }
SILValue RValue::forwardAsSingleStorageValue(SILGenFunction &SGF, SILType storageType, SILLocation l) && { assert(isComplete() && "rvalue is not complete"); // Conversions must always be done at +1. SILValue result = std::move(*this).ensurePlusOne(SGF, l).forwardAsSingleValue(SGF, l); return SGF.emitConversionFromSemanticValue(l, result, storageType); }