ManagedValue ArgumentSource::getConverted(SILGenFunction &SGF, const Conversion &conversion, SGFContext C) && { switch (StoredKind) { case Kind::Invalid: llvm_unreachable("argument source is invalid"); case Kind::LValue: llvm_unreachable("cannot get converted l-value"); case Kind::RValue: case Kind::Expr: return SGF.emitConvertedRValue(getLocation(), conversion, C, [&](SILGenFunction &SGF, SILLocation loc, SGFContext C) { return std::move(*this).getAsSingleValue(SGF, C); }); } llvm_unreachable("bad kind"); }