我看到一些看起来像这样的Rust代码:
#![feature(default_type_params)]
经过大量谷歌搜索后,我对此一无所知。这是什么?我什么时候应该使用它?
答案 0 :(得分:5)
这是一个名为默认类型参数的启用功能,但您已经知道了,所以让我给您举个例子:
#![feature(default_type_params)]
struct Foo<A=(int, char)> { // default type parameter here!
a: A
}
fn default_foo(x: Foo) {
let (_i, _c): (int, char) = x.a;
}
fn main() {
default_foo(Foo { a: (1, 'a') })
}
如果没有默认类型参数,则需要显式设置参数:
struct Foo<A> {
a: A
}
fn default_foo(x: Foo<(int, char>)) {
let (_i, _c): (int, char) = x.a;
}
fn main() {
default_foo(Foo { a: (1, 'a') })
}