<div class="chatlog__message-group"> <div id="chatlog__message-container-1000987970876227644" class="chatlog__message-container" data-message-id="1000987970876227644"> <div class="chatlog__message"> <div class="chatlog__message-aside"><img class="chatlog__avatar" src="https://cdn.discordapp.com/avatars/293624673265123328/accd07acc220a18568ba46a6e9ede18a.png?size=512" alt="Avatar" loading="lazy"></div> <div class="chatlog__message-primary"> <div class="chatlog__header"><span class="chatlog__author" style="color:rgb(17,128,106)" title="koher" data-user-id="293624673265123328">koher</span> <a href="/channels/306995750418513920?category=main&channel=swift-2&message_id=1000987970876227644"><span class="chatlog__timestamp" title="Monday, July 25, 2022 4:48 AM"></span></a><a href="#chatlog__message-container-1000987970876227644">7/25/2022 4:48 AM</a></div> <div class="chatlog__content chatlog__markdown"><span class="chatlog__markdown-preserve">おお、↓この挙動もいけた。 <span class="chatlog__markdown-mention" title="swift57#4949">@swift-5.7.3</span> <code class="chatlog__markdown-pre chatlog__markdown-pre--multiline language-swift">@rethrows protocol P { func foo() throws } @rethrows protocol Q { func bar() throws } struct S1: P { func foo() { print("S1") } } struct S2: P { func foo() throws { print("S2") } } struct T<PType: P>: Q { let p: PType func bar() rethrows { try p.foo() } } T(p: S1()).bar() do { try T(p: S2()).bar() } catch { print(error) }</code></span></div> </div> </div> </div> </div>