Rust Juniper和GraphQLEnum-未解析的导入InputValue

Rust Juniper和GraphQLEnum-未解析的导入InputValue,rust,graphql,Rust,Graphql,我需要juniper的帮助 我已将此文件复制到我的项目中 但是当我运行货物时,我得到: 错误[E0432]:未解析的导入`InputValue` -->src/model.rs:5:10 | 5 |#[派生(GraphQLEnum、复制、克隆、Eq、PartialEq、调试)] | ^^^^^^^^^^^根目录中没有“InputValue” 我将InputValue添加到main.rs,然后编译器需要另一个使用s。因此,即使在main.rs中使用此选项: 使用juniper::InputVa

我需要juniper的帮助

我已将此文件复制到我的项目中

但是当我运行货物时,我得到:

错误[E0432]:未解析的导入`InputValue`
-->src/model.rs:5:10
|
5 |#[派生(GraphQLEnum、复制、克隆、Eq、PartialEq、调试)]
| 
^^^^^^^^^^^根目录中没有“InputValue”
我将
InputValue
添加到
main.rs
,然后编译器需要另一个
使用
s。因此,即使在
main.rs
中使用此选项:

使用juniper::InputValue;
使用juniper::Value;
使用juniper::ToInputValue;
使用juniper::FromInputValue;
使用juniper::Executor;
我得到:

错误[E0365]:`InputValue`是私有的,无法重新导出
-->src/model.rs:5:10
|
5 |#[派生(GraphQLEnum、复制、克隆、Eq、PartialEq、调试)]
|^^^^^^^^^^^^重新导出private`InputValue`
|
=注意:考虑用“PUB”声明类型或模块“输入值”
错误[E0365]:`Value`是私有的,无法重新导出
-->src/model.rs:5:10
|
5 |#[派生(GraphQLEnum、复制、克隆、Eq、PartialEq、调试)]
|^^^^^^^^^^^^^私有值的重新导出`
|
=注意:考虑用“PUB”声明类型或模块“值”

以此类推……

错误指向的代码是:

#[derive(GraphQLEnum, Copy, Clone, Eq, PartialEq, Debug)]
#[graphql(_internal)]
pub enum Episode {
    #[graphql(name = "NEW_HOPE")] NewHope,
    Empire,
    Jedi,
}
看起来您复制了所有内容,包括
#[graphql(_internal)]
属性。从名称上看,这只打算在JUniter测试套件内部使用,而不是像您这样的下游板条箱。删除
\u internal
属性后,应该可以正常工作。使用以下库进行测试:

#[macro_use]
extern crate juniper;

mod model;

谢谢,我也去了。但是现在当我尝试使用它时,比如
RootNode::new(Database::new(),EmptyMutation:::new(),)我得到错误:trait
juniper::GraphQLType
没有为
model::Database
实现@dtolnay jup,谢谢你跳进来。_internal属性是一种使派生(在juniper_codegen板条箱中定义)在主juniper板条箱中工作的黑客行为(修复所用输入路径的必要条件)。@rofrol如果您仍然有问题,请随时询问Gitter,我今晚有空。