可以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? } }
这不是必需的,只能在可以推断时避免重复长结构名称.它也可能对生成的代码很有用.
从Rust 1.16开始,您的代码编译得很好!的Self
关键字现在可以在多个位置上被使用,包括结构表达式和impl
报头.
相关链接:
更改日志为1.16
PR稳定功能
跟踪问题
我以前的回答