【发布时间】:2019-08-22 14:55:29
【问题描述】:
Rust 中定义了函数参数求值的顺序吗?
fn f(a: u64, b: u64, c: u64) {}
fn g() -> u64 { 0 }
fn h() -> u64 { 1 }
fn i() -> u64 { 2 }
fn main() {
f(g(), h(), i());
}
另外,我担心结构的初始化顺序:
fn f() {}
fn g() {}
A {
a: f(),
b: g(),
}
是否保证顺序是a,然后是b?
对于我的特定用例,我将在 diesel 事务中初始化一个结构,如下所示:
db_connection.transaction(||
Ok(CompanyAndUser {
company: companies::register_company(...)?, // performs diesel insert
user: users::register_user(...)?, // performs diesel insert
})
);
显然,我希望在一个事务中订购这两个柴油调用。 不幸的是,我没有找到任何有关此的信息。另外,我发现了一些或多或少相关的信息,但它已经很旧了。
【问题讨论】:
标签: rust