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

时间:2015-08-23 10:15:17

标签: rust

我尝试使用&'static str返回错误结果。

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

它输出以下错误:

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!");
                  ^~~

这可能是什么问题?

1 个答案:

答案 0 :(得分:11)

Err(...)之后你有一个虚假的分号。您告诉编译器丢弃您构造的值并返回()。当然,它并没有告诉你返回类型是错误的:当你构建一个Result<T, E>::Err(E)而不告诉它T是什么时,它会立即感到困惑。