Skip to content

Need to manually depend on futures #663

Closed
@jmaargh

Description

@jmaargh

Describe the bug
I was starting to play with subscriptions, for which I needed to depend on the master branch

Incidentally, a new release which includes subscriptions would be swell :)

My Cargo.toml therefore looks something like this:

[dependencies]
rocket = "0.4.4"

[dependencies.juniper]
# 2020-05-15 newer than 0.14.2
git = "https://github.com/graphql-rust/juniper.git"
rev = "91a335398313356fcd6627c00f4b9fc504714f48"

[dependencies.juniper_rocket]
# 2020-05-15 newer than 0.5.2
git = "https://github.com/graphql-rust/juniper.git"
rev = "91a335398313356fcd6627c00f4b9fc504714f48"

Suppose I then try to compile the following main.rs

#![feature(decl_macro, proc_macro_hygiene)]

#[derive(juniper::GraphQLEnum, Clone, Copy)]
enum Episode {
  NewHope,
  Empire,
  Jedi,
}

fn main() {}

I get

error[E0432]: unresolved import `futures`
 --> src/main.rs:3:10
  |
3 | #[derive(juniper::GraphQLEnum, Clone, Copy)]
  |          ^^^^^^^^^^^^^^^^^^^^ use of undeclared type or module `futures`
  |
  = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)

I can work around this by adding futures = "0.3.5" to my Cargo.toml and everything compiles fine. Clearly somewhere a dependency on futures isn't being properly expressed.

c.f. also #534

Additional context

Rust toolchain nightly-2020-05-07

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions