gpt4 book ai didi

static - 静态特征函数的 Rust 类型提示

转载 作者:行者123 更新时间:2023-11-29 08:00:02 24 4
gpt4 key购买 nike

考虑这个例子:

trait MyTrait {
fn maybe_new() -> Option<Self>;
}

impl MyTrait for i32 {...}

fn hello() {
match MyTrait::maybe_new() {
Some(x) => ...,
None => ...,
}
}

编译失败,因为无法推断 x 的类型。有没有什么方法可以添加一个类型注解来完成这项工作,而不必将 maybe_new() 分解成这样的 let 语句?:

let p:Option<i32> = MyTrait::maybe_new();
match p {
Some(x) => ...,
None => ...,
}

最佳答案

参见 How do I provide type annotations inline when calling a non-generic function? .在您的情况下,它看起来像这样:

match <i32 as MyTrait>::maybe_new() {
Some(x) => ...,
None => ...,
}

关于static - 静态特征函数的 Rust 类型提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28286960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com