【问题标题】:Rust error trait weird method missing缺少 Rust 错误特征奇怪的方法
【发布时间】:2014-11-19 13:43:09
【问题描述】:

我有一些这样的代码:

use std::error;

enum E {
    O
}

impl error::Error for E {
    fn description(&self) -> &str {
        "ERROR"
    }
}

fn main() {
    let e = O;
    println!("Hello, world!{}", e.description())
}

我得到:

错误:E 类型未在名为 description 的范围内实现任何方法

【问题讨论】:

    标签: rust


    【解决方案1】:

    您必须在源文件顶部或main 内添加以下行,以将Error 特征的方法纳入范围:

    use std::error::Error;
    

    您现在也可以像调用静态函数一样调用 trait 方法,不需要添加上述行:

    fn main() {
        let e = O;
        println!("Hello, world!{}", error::Error::description(&e))
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-22
      • 1970-01-01
      • 1970-01-01
      • 2013-05-26
      相关资源
      最近更新 更多