In this post, I’m going to take a critical look at channels in Rust’s standard library and present multiple issues I have with it. Before starting, I should note that there are good reasons why the channels are designed the way they are. Some of them boil down to the minimalistic philosophy of the standard library, some have to do with Rust’s history, and some are simply “nobody has done it better