我尝试使用&'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!");
^~~
这可能是什么问题?
答案 0 :(得分:11)
Err(...)
之后你有一个虚假的分号。您告诉编译器丢弃您构造的值并返回()
。当然,它并没有告诉你返回类型是错误的:当你构建一个Result<T, E>::Err(E)
而不告诉它T
是什么时,它会立即感到困惑。