可以避免在'impl'函数体中重复结构名称吗?

时间:2017-01-14 14:50:33

标签: rust

可以在Self块中使用impl

impl SomeStruct {
    pub fn new() -> Self {
        SomeStruct { foo: 1, bar: 1, }
    }
}

有没有办法在函数体中引用类型?例如:

impl SomeStruct {
    pub fn new() -> Self {
        Self { foo: 1, bar: 1, }
    //  ^^^^ not recognized, possibly there is some alternative?
    }
}

这不是必需的,只能在可以推断时避免重复长结构名称。它也可能对生成的代码很有用。

1 个答案:

答案 0 :(得分:7)

由于 Rust 1.16 ,您的代码编译得很好! Self关键字现在可用于更多位置,包括结构表达式和impl标题。

相关链接: