应用泛型重新导出结构

Mar*_*ouw 3 graphics rust

当从板条箱中重新导出结构时,您还可以指定一些泛型吗?

如;

// file: transform.rs
pub use euclid::Transform2d as Transform<f32, f32, f32>;

// file: something-else.rs

use transform::Transform;

Transform::new(...); // notice no generics, as its been pre-applied
Run Code Online (Sandbox Code Playgroud)

我知道上面的内容不是有效的 Rust,但这就是想法。

为什么?它适用于当我想要构建内部 api,但不想以任何其他方式指定它时。

Ale*_*exN 6

您可以创建类型别名并将其导出

pub mod module_1 {
    pub struct TypeWithGeneric<T> {
        field: T
    }
    
    pub type PublicType = TypeWithGeneric<u64>;
}

mod module_2 {
    use crate::module_1::PublicType;
    
    fn usage_of_type(_: PublicType) {
    }
}
Run Code Online (Sandbox Code Playgroud)