Avatar
Avatar
shiz
色々ありがとうございます!
  • オーナーシップ指定子がついてない時はconsuming扱いという仕様になっている
  • consumingはLValue
ということはわかりました。 そうすると、 if (auto sending = dyn_cast<SendingTypeRepr>(nestedRepr)) { auto *base = sending->getBase(); if (!param->getInterfaceType()->isNoEscape() && !isa<OwnershipTypeRepr>(base)) { return ParamSpecifier::ImplicitlyCopyableConsuming; } } で、なぜsendingにこういう処理にしてるのかを次に調べる必要があるかなと思いました。
omochimetaru 2/6/2025 12:38 AM
そのロジックは謎ですね なんでescapingも関係すんだろな
12:39 AM
そのへんいじってテスト回せば、壊れるテストケースから逆に何がしたかったかわかりそう?
12:39 AM
まああとgit blameでその行の関係するコミットやPRのメッセージを探す