为什么在为类型别名编写 impl 时会出现错误“无法为定义类型的包之外的类型定义固有的 `impl`”?

won*_*low 5 rust

我希望实现 type 的功能OpResource

type OpResource = Object<OC, Status>;

impl OpResource {
    pub fn get_parameter_values(&self) -> Vec<ParameterValue> {
        self.spec
            .parameter_values
            .clone()
            .or_else(|| Some(vec![]))
            .unwrap()
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我得到一个错误

type OpResource = Object<OC, Status>;

impl OpResource {
    pub fn get_parameter_values(&self) -> Vec<ParameterValue> {
        self.spec
            .parameter_values
            .clone()
            .or_else(|| Some(vec![]))
            .unwrap()
    }
}
Run Code Online (Sandbox Code Playgroud)

我不明白我错在哪里,我只是实现了类型下面的函数,为什么它说我已经超出了箱子?