如何为模板化结构输入别名

Rah*_*ahn 0 generics rust

我可以为一个结构添加别名,如下所示:

struct DummyStruct {}
use DummyStruct as MyStruct;
Run Code Online (Sandbox Code Playgroud)

但是当涉及到模板化结构时:

struct TemplatedStruct<T> {
    v: T
}
use TemplatedStruct::<i32> as AnotherStruct;
Run Code Online (Sandbox Code Playgroud)

我收到错误:

8 | use TemplatedStruct::<i32> as AnotherStruct;
  |                      ^ expected identifier
Run Code Online (Sandbox Code Playgroud)

如何修复它以给模板化结构起别名?

dre*_*ato 6

use不创建别名,它会导入,并且与 一起使用时as,会重命名导入。

要创建类型别名,请使用type.

type AnotherStruct = TemplatedStruct<i32>;
Run Code Online (Sandbox Code Playgroud)

请注意,这TemplatedStruct是一个通用结构。Rust 不使用术语“模板”。