Avatar
omochimetaru 2/6/2025 11:51 PM
そうですね。 sendingが与える変化にまだ知らない要素があるのかも?
11:52 PM
そしてまず単純に考えると直交しているので列挙として足しているのがおかしいです
11:53 PM
オーナーシップには3種類あるのだから、それぞれのsending有無で6種類になるはず・・・
11:55 PM
borrowingとinoutはsendingにできない?いやinoutはできたような?
11:55 PM
inout sendingはinoutと同じということかな
11:56 PM
とすると後はコードの種類としては 指定無し、consuming、sending、sending consumingの4つがあるけど
11:58 PM
このうちのどれがImpicitCopyableConsumingになるのか・・・?
12:04 AM
僕の推測では
12:04 AM
やはりこれはオーナーシップの種類なんだと思います
12:06 AM
transferringからリネームされたのは、それが結局オーナーシップとしてはどれになるのか、の観点で、結局consumingであるという方が重要ということかなと
12:07 AM
それがimplicit consumingならわかるんですが、そこにcopyableが挟まってるのがちょっと謎ですが
12:07 AM
non copyableの場合は必ずオーナーシップ指定が必要だから、
12:08 AM
「copyableでオーナーシップ省略されていたけど(sendableによって)暗黙にconsumingになった場合」という意味なのかな
12:10 AM
で、その先の話としては、 https://discord.com/channels/291054398077927425/472019265369669634/1336855266549039104 これが謎ではあるけど、とにかくconsumingだと関数引数でもvarのように扱えるみたいですね
12:11 AM
それがlvalueになる理由というか仕様に思います
12:12 AM
で・・・ユーザーが書いてない暗黙のconsumingの場合にもそうなったら変な気はしますね そこはバグな気がする?