if (auto sending = dyn_cast<SendingTypeRepr>(nestedRepr)) { auto *base = sending->getBase(); if (!param->getInterfaceType()->isNoEscape() && !isa<OwnershipTypeRepr>(base)) { return ParamSpecifier::ImplicitlyCopyableConsuming; } }
で、なぜsendingにこういう処理にしてるのかを次に調べる必要があるかなと思いました。