使用在另一个文件中定义的未声明类型

时间:2015-06-10 00:22:03

标签: rust

所以,我有一个拥有自己类的文件层次结构。这是一个例子:

mod query;

struct Row<T>{
    data: Vec<Query<T>>,
}

impl<T> Row<T>{
    fn new(array: Vec<Query<T>>) -> Row<T>{
        Row{
          data: array,
        }
    }
}

虽然它说文件在那里,但它表示&#34;查询是未声明的类型,&#34;即使它存在于另一个文件中当所有内容都在同一个文件中时,代码就可以工作。

1 个答案:

答案 0 :(得分:4)

Rust书中记录了这一点,特别是section on modules。如果您有不同的模块,则需要使用use关键字将其他模块中的项目纳入范围。

mod query {
    pub struct Query;
}

// Bring Query into scope
use query::Query;

struct Row(Vec<Query>);

fn main() {}