Why does drop()ing a process::Child no longer wait() on it?

Anyone know the specific reason why std::process::Child doesn't wait() on drop()?

Digging through through though the source I see that early on it did wait, and when an RFC was created to replace old_io, it mentions forget() remaining the same (which was the old way of opting in to not waiting):
https://github.com/rust-lang/rfcs/pull/579/files#diff-099fed41e76ff4e3afb9b318f8fd2c9ece6ac423611523b6633dbdf109403cdcR1290

But when the PR that actually implemented it went in, Drop was removed without comment
https://github.com/rust-lang/rust/commit/4175f1ce2fa57ca466e94aa59de9b9383f3c05a4#diff-d28320a72819402338af92259522275ed5e735179368ca421704fbdd937cea07

I know that this is extensively documented and I could just write a wrapper type myself, but it feels strange that such a decision occurred without discussion. Does anyone know where this conversation might have happened, if it did?

Shot in the dark, but @aturon?

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.