https://pantsbuild.org/ logo
#development
Title
# development
w

witty-crayon-22786

03/17/2017, 5:40 PM
Copy code
error[E0277]: the trait bound `futures::Future<Error=nodes::Failure, Item=nodes::NodeResult> + 'static: std::marker::Send` is not satisfied
   --> src/rust/engine/src/nodes.rs:258:6
    |
258 | impl VFS<Failure> for Context {
    |      ^^^^^^^^^^^^ the trait `std::marker::Send` is not implemented for `futures::Future<Error=nodes::Failure, Item=nodes::NodeResult> + 'static`
    |
    = note: `futures::Future<Error=nodes::Failure, Item=nodes::NodeResult> + 'static` cannot be sent between threads safely
    = note: required because it appears within the type `Box<futures::Future<Error=nodes::Failure, Item=nodes::NodeResult> + 'static>`
    = note: required because it appears within the type `futures::future::shared::State<Box<futures::Future<Error=nodes::Failure, Item=nodes::NodeResult> + 'static>>`
    = note: required because of the requirements on the impl of `std::marker::Send` for `std::sync::Mutex<futures::future::shared::State<Box<futures::Future<Error=nodes::Failure, Item=nodes::NodeResult> + 'static>>>`
    = note: required because it appears within the type `futures::future::shared::Inner<Box<futures::Future<Error=nodes::Failure, Item=nodes::NodeResult> + 'static>>`
    = note: required because of the requirements on the impl of `std::marker::Send` for `std::sync::Arc<futures::future::shared::Inner<Box<futures::Future<Error=nodes::Failure, Item=nodes::NodeResult> + 'static>>>`
    = note: required because it appears within the type `futures::future::Shared<Box<futures::Future<Error=nodes::Failure, Item=nodes::NodeResult> + 'static>>`
    = note: required because it appears within the type `std::option::Option<futures::future::Shared<Box<futures::Future<Error=nodes::Failure, Item=nodes::NodeResult> + 'static>>>`
    = note: required because it appears within the type `graph::Entry`
    = note: required because it appears within the type `std::option::Option<graph::Entry>`
    = note: required because it appears within the type `petgraph::graph::Node<std::option::Option<graph::Entry>>`
    = note: required because of the requirements on the impl of `std::marker::Send` for `std::ptr::Unique<petgraph::graph::Node<std::option::Option<graph::Entry>>>`
    = note: required because it appears within the type `alloc::raw_vec::RawVec<petgraph::graph::Node<std::option::Option<graph::Entry>>>`
    = note: required because it appears within the type `std::vec::Vec<petgraph::graph::Node<std::option::Option<graph::Entry>>>`
    = note: required because it appears within the type `petgraph::Graph<std::option::Option<graph::Entry>, std::option::Option<()>>`
    = note: required because it appears within the type `petgraph::prelude::StableGraph<graph::Entry, ()>`
    = note: required because it appears within the type `graph::InnerGraph`
    = note: required because of the requirements on the impl of `std::marker::Send` for `std::sync::Mutex<graph::InnerGraph>`
    = note: required because it appears within the type `graph::Graph`
    = note: required because it appears within the type `context::Core`
    = note: required because of the requirements on the impl of `std::marker::Sync` for `std::sync::Arc<context::Core>`
    = note: required because it appears within the type `nodes::Context`
    = note: required by `fs::VFS`