我在Constructors - The Rustonomicon 中找不到任何对此的引用。是否保证下面的代码...
struct Mutates {
n: usize,
}
impl Mutates {
fn side_effects(&mut self) -> usize {
self.n += 1;
self.n
}
}
#[derive(Debug)]
struct Struct {
a: usize,
b: usize,
}
fn main() {
let mut m = Mutates { n: 0 };
// note the order of the fields
dbg!(Struct {
a: m.side_effects(),
b: m.side_effects(),
});
dbg!(Struct {
b: m.side_effects(),
a: m.side_effects(),
});
}
Run Code Online (Sandbox Code Playgroud)
...将始终打印以下内容?
[src/main.rs:22] Struct{a: m.side_effects(), b: m.side_effects(),} = …Run Code Online (Sandbox Code Playgroud)