4
在鏽,看來你基本上可以放在任何東西。性狀,實現塊,函數,靜態變量...將所有內容放在主體中是否存在性能劣勢?
例如,這個編譯:
fn main() {
trait Foo {
fn foo();
}
impl Foo for f64 {
fn foo() {}
}
struct MyStruct;
enum RustIsCool {
MyStruct,
};
fn bar() {
trait Baz {
fn baz();
}
impl Baz for f64 {
fn baz() {}
}
}
static x: f64 = 10.0;
println!("This compiles!");
}
正如你所看到的,你甚至可以嵌套這些東西其他區塊內。
顯然,從文體的角度來看,這樣做很糟糕;它很醜陋,難以重構,並且使得代碼重用變得更加困難。
但我很好奇:這樣做是否有任何性能開銷?或者Rust編譯器是否優化了任何差異?