actix: `trust-dns-proto` fails to compile
After updating actix from v0.7.5 to v0.7.6 I’m seeing the following failures on TravisCI:
Downloading trust-dns-resolver v0.10.0
Compiling trust-dns-proto v0.5.0
error[E0432]: unresolved import `tokio_timer::Timeout`
--> /home/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/trust-dns-proto-0.5.0/src/tcp/tcp_stream.rs:20:5
|
20 | use tokio_timer::Timeout;
| ^^^^^^^^^^^^^^^^^^^^ no `Timeout` in the root
error[E0599]: no method named `context` found for type `tokio_executor::SpawnError` in the current scope
--> /home/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/trust-dns-proto-0.5.0/src/error.rs:293:11
|
293 | e.context(ProtoErrorKind::SpawnError).into()
| ^^^^^^^
|
= note: the method `context` exists but the following trait bounds were not satisfied:
`tokio_executor::SpawnError : failure::Fail`
`&tokio_executor::SpawnError : failure::Fail`
`&mut tokio_executor::SpawnError : failure::Fail`
error[E0277]: the trait bound `futures::Future<Item=tcp::tcp_stream::TcpStream<tokio_tcp::TcpStream>, Error=std::io::Error> + std::marker::Send: std::marker::Sized` is not satisfied
--> /home/travis/.cargo/registry/src/github.com-1ecc6299db9ec823/trust-dns-proto-0.5.0/src/tcp/tcp_stream.rs:145:10
|
145 | (Box::new(stream), message_sender)
| ^^^^^^^^ `futures::Future<Item=tcp::tcp_stream::TcpStream<tokio_tcp::TcpStream>, Error=std::io::Error> + std::marker::Send` does not have a constant size known at compile-time
|
= help: the trait `std::marker::Sized` is not implemented for `futures::Future<Item=tcp::tcp_stream::TcpStream<tokio_tcp::TcpStream>, Error=std::io::Error> + std::marker::Send`
= note: required by `<std::boxed::Box<T>>::new`
It seems a little unfortunate that such a problematic dependency was added in just a patch update. Are there any known workarounds for this problem?
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 15 (12 by maintainers)
To follow up, I got past the issue by compiling without the
"resolver"
feature.