<div class="chatlog__message-group"> <div id="chatlog__message-container-740776730763067484" class="chatlog__message-container" data-message-id="740776730763067484"> <div class="chatlog__message"> <div class="chatlog__message-aside"><img class="chatlog__avatar" src="https://cdn.discordapp.com/avatars/189711109966659584/95280765d1be73ce985dce15ea3585f6.png?size=512" alt="Avatar" loading="lazy"></div> <div class="chatlog__message-primary"> <div class="chatlog__header"><span class="chatlog__author" style="color:rgb(237,171,161)" title="omochimetaru" data-user-id="189711109966659584">omochimetaru</span> <a href="/channels/375206337937801216?category=main&channel=swift-zatsu&message_id=740777413641764926"><span class="chatlog__timestamp" title="Thursday, August 6, 2020 3:42 AM"></span></a><a href="#chatlog__message-container-740776730763067484">8/6/2020 3:42 AM</a></div> <div class="chatlog__content chatlog__markdown"><span class="chatlog__markdown-preserve">あ〜、なるほど。 そういうのは確かに怖いので、 fooが values を引数を取るようにして self を都度見ないようにするか、 そもそもfoo() の実行中に self に関して他の競合しうるような非同期タスクが実行されないように、 画面レベルで 非同期タスクの多重実行防止機構をもたせてます。</span></div> </div> </div> </div> <div id="chatlog__message-container-740777008719724714" class="chatlog__message-container" data-message-id="740777008719724714"> <div class="chatlog__message"> <div class="chatlog__message-aside"> <div class="chatlog__short-timestamp" title="Thursday, August 6, 2020 3:43 AM">3:43 AM</div> </div> <div class="chatlog__message-primary"> <div class="chatlog__content chatlog__markdown"><span class="chatlog__markdown-preserve">というのも、 <code class="chatlog__markdown-pre chatlog__markdown-pre--inline">bar</code> が <code class="chatlog__markdown-pre chatlog__markdown-pre--inline">async</code> だったとして、 ほかの非同期タスクの影響でも values が変更されうるようなシナリオって、 そもそも認知負荷が高すぎて考慮しきれないから、避けちゃう。</span></div> </div> </div> </div> <div id="chatlog__message-container-740777112419565568" class="chatlog__message-container" data-message-id="740777112419565568"> <div class="chatlog__message"> <div class="chatlog__message-aside"> <div class="chatlog__short-timestamp" title="Thursday, August 6, 2020 3:43 AM">3:43 AM</div> </div> <div class="chatlog__message-primary"> <div class="chatlog__content chatlog__markdown"><span class="chatlog__markdown-preserve">いや、逆なのか 「<code class="chatlog__markdown-pre chatlog__markdown-pre--inline">async</code> じゃなかったときは心配しないでそういうコードを書くことができる」</span></div> </div> </div> </div> <div id="chatlog__message-container-740777135781707817" class="chatlog__message-container" data-message-id="740777135781707817"> <div class="chatlog__message"> <div class="chatlog__message-aside"> <div class="chatlog__short-timestamp" title="Thursday, August 6, 2020 3:43 AM">3:43 AM</div> </div> <div class="chatlog__message-primary"> <div class="chatlog__content chatlog__markdown"><span class="chatlog__markdown-preserve">というメリットが生まれている?</span></div> </div> </div> </div> <div id="chatlog__message-container-740777413641764926" class="chatlog__message-container" data-message-id="740777413641764926"> <div class="chatlog__message"> <div class="chatlog__message-aside"> <div class="chatlog__short-timestamp" title="Thursday, August 6, 2020 3:44 AM">3:44 AM</div> </div> <div class="chatlog__message-primary"> <div class="chatlog__content chatlog__markdown"><span class="chatlog__markdown-preserve">「Optional型の静的検査があって嬉しいのは <em>non-optional</em> 型が扱えるようになること」 みたいな話か</span></div> </div> </div> </div> </div>