Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Module 如何重新导出枚举?_Module_Rust - Fatal编程技术网

Module 如何重新导出枚举?

Module 如何重新导出枚举?,module,rust,Module,Rust,这给了我一个错误: mod foo { pub enum T { Foo, } } mod bar { pub type T = ::foo::T; } fn main() { let _ = bar::T::Foo; // error: no associated item named `Foo` found for type `foo::T` in the current scope } 正确的方法是什么?这是一个已知的问题 您应该pub使用foo::T取而代之

这给了我一个错误:

mod foo {
  pub enum T {
    Foo,
  }
}

mod bar {
  pub type T = ::foo::T;
}

fn main() {
  let _ = bar::T::Foo; // error: no associated item named `Foo` found for type `foo::T` in the current scope
}
正确的方法是什么?

这是一个已知的问题


您应该
pub使用foo::T取而代之
type
纯粹是一个别名,其目的是类型的组合和泛型的填充(例如
type Foo=Bar;
),因此,对于公开的重新导出,它无论如何都不会满足您的要求。

请注意,Rust样式是4-空格缩进。@Shepmaster Rust样式很傻:)这实际上是为了填充泛型;实际用例是。很高兴知道这是一个悬而未决的问题,谢谢!同时,我刚刚添加了一个
usefoo::T::*