Why does a panic in a non-main thread not lead to a panic in the main?
I do not understand this behavior. On the one hand, Rust stimulates to state explicitly what is unacceptable from application logic in the main thread. While on the other hand, ignoring it for the rest in a very implicit way.
The "idiomatic" way to ensure panic is to unwrap a thread's handle after joining. However, it is not feasible for threads created by a 3rd party framework.
Other ways to change this behavior are uglier: changing panic to abort and having fun with GDB or setting a custom hook, which looks like an overhead to me.
I wonder what was the reason behind this decision?