无法推断出关于`_`的足够类型信息; 需要输入注释或通用参数绑定

End*_*del 6 rust

我正在尝试使用a返回错误结果&'static str.

impl Worker {
    fn get_task_by_name(&self, name: String) -> Result<Box<Task>, &'static str> {
        Err("Task not found!");
    }
}
Run Code Online (Sandbox Code Playgroud)

它输出以下错误:

src/lib.rs:84:5: 84:8 error: unable to infer enough type information about `_`; type annotations or generic parameter binding required [E0282]
src/lib.rs:84     Err("Task not found!");
                  ^~~
Run Code Online (Sandbox Code Playgroud)

这可能是什么问题?

DK.*_*DK. 11

你之后有一个假的分号Err(...).您告诉编译器丢弃您构造的值并返回().当然,它并没有告诉你返回类型是错误的:它更直接地被你构建一个Result<T, E>::Err(E)没有告诉它是什么的事实所迷惑T.