Document: P2583R0
Author: Mungo Gill, Vinnie Falco
Date: 2026-02-23
Audience: LEWG
This paper argues that C++20 symmetric transfer and the P2300 sender model are structurally awkward together when you co_await sender algorithms: receivers use void-returning hooks, so await_suspend cannot reliably tail-transfer across composed senders the way symmetric transfer promises, and mitigations like trampolines bring back runtime cost. If you are deep in executors/coroutines, skim the PDF via P2583R0 on wg21.link before declaring the problem solved.