Version 0.3.19, Docs.rs indicates that futures::executor::ThreadPool is supported on crate feature "executor" only. Downloaded source code for v0.3.19 shows:
#[cfg_attr(docsrs, doc(cfg(feature = "thread-pool")))]
Using the thread-pool feature in Cargo.toml works correctly