Tokio broadcast channel calls clone in parallel, but does not require Sync
The broadcast channel internally calls clone
on the stored value when receiving it, and only requires T:Send
. This means that using the broadcast channel with values that are Send
but not Sync
can trigger unsoundness if the clone
implementation makes use of the value being !Sync
.
Thank you to Austin Bonander for finding and reporting this issue.