This reverts PR #107. The code from that PR is no longer necessary for 2 reasons.
As of https://github.com/rust-lang/rust/pull/85499 in Rust 1.56.0, the problem described in #106 involving FnOnce(&Self::ThreadPool) vs FnOnce(&<&P as ProcessPool>::ThreadPool) does not occur. These two trait bounds mean the same thing to sufficiently new versions of Rust.
As of #143 in async-trait 0.1.43 we no longer replace FnOnce(&Self::ThreadPool) to FnOnce(&<&P as ProcessPool>::ThreadPool) in generated code, so even with old rustc, the old problem does not occur.
This reverts PR #107. The code from that PR is no longer necessary for 2 reasons.
As of https://github.com/rust-lang/rust/pull/85499 in Rust 1.56.0, the problem described in #106 involving
FnOnce(&Self::ThreadPool)
vsFnOnce(&<&P as ProcessPool>::ThreadPool)
does not occur. These two trait bounds mean the same thing to sufficiently new versions of Rust.As of #143 in async-trait 0.1.43 we no longer replace
FnOnce(&Self::ThreadPool)
toFnOnce(&<&P as ProcessPool>::ThreadPool)
in generated code, so even with old rustc, the old problem does not occur.Fixes #238.