<div class="chatlog__message-group">
  <div id="chatlog__message-container-853883451543650314" class="chatlog__message-container" data-message-id="853883451543650314">
    <div class="chatlog__message">
      <div class="chatlog__message-aside"><img class="chatlog__avatar" src="https://cdn.discordapp.com/avatars/375129448900591616/515e8a82d7bf15378bf69f2b8a1a03f7.png?size=512" alt="Avatar" loading="lazy"></div>
      <div class="chatlog__message-primary">
        <div class="chatlog__header"><span class="chatlog__author" title="yniw" data-user-id="375129448900591616">niw</span> <a href="/channels/306995750418513920?category=main&amp;channel=swift-2&amp;message_id=853883451543650314"><span class="chatlog__timestamp" title="Monday, June 14, 2021 6:27 AM"></span></a><a href="#chatlog__message-container-853883451543650314">6/14/2021 6:27 AM</a></div>
        <div class="chatlog__content chatlog__markdown"><span class="chatlog__markdown-preserve"><code class="chatlog__markdown-pre chatlog__markdown-pre--multiline nohighlight"> @MainActor @Sendable func _doMain(_ asyncFun: @escaping () async throws -&gt; ()) async { do { try await asyncFun() } catch { _errorInMain(error) } } Task.detached { await _doMain(asyncFun) exit(0) } _asyncMainDrainQueue()</code> これが実装で、<code class="chatlog__markdown-pre chatlog__markdown-pre--inline">Task.detached</code> して <code class="chatlog__markdown-pre chatlog__markdown-pre--inline">exit(0)</code>, main は <code class="chatlog__markdown-pre chatlog__markdown-pre--inline">CFRunLoopRun()</code> ということらしい。</span> <span class="chatlog__edited-timestamp" title="Monday, June 14, 2021 6:39 AM">(edited)</span></div>
      </div>
    </div>
  </div>
</div>