You attempted to use multiple types as bounds for a closure or trait object. Rust does not currently support this. A simple example that causes this error:

fn main() {
    let _: Box<dyn std::io::Read + std::io::Write>;
}

Auto traits such as Send and Sync are an exception to this rule: It's possible to have bounds of one non-builtin trait, plus any number of auto traits. For example, the following compiles correctly:

fn main() {
    let _: Box<dyn std::io::Read + Send + Sync>;
}