I don't think panics on channels are a big problem. Mostly they are a symptom of bad architecture. In a good design the ownership of each end of the channel is exactly defined, similar like you would have to define the ownership for all resources in Rust. As soon as that's the case the owner can (on demand) close the channel and others can read from it and wait for the close/finish.
The only corner case is multi-producer channels, which either need additional synchronization or could be left open and garbage-collected.
The only corner case is multi-producer channels, which either need additional synchronization or could be left open and garbage-collected.