Hacker News new | ask | show | jobs
by firstlink 1204 days ago
Doing this using a destructor, or worse in straight-line code, turns out to be unsound. So it's more than marginally useful for those familiar with Chesterton's fence.
1 comments

I didn't say it was useless, only that its use is highly limited to a very specific case, namely "do a bunch of things at the same time and block until completion".
If the scope is the lifetime of the program, then it hardly makes a difference. Note that rust programs exit upon return from main anyways.
This is the point of lifetimes. Everything has a lifetime whether or not it is annotated. Sometimes the compiler doesn't know what the lifetime of an object is, particularly in relation to other objects.

If you can scope something to main() then that is a 'static lifetime and there is no need for a scoped thread for it.