Rustでは、基本的に何かをメインに置くことができます。トレイト、実装ブロック、機能、静的変数...すべてをメインに置くことにパフォーマンス上の欠点はありますか?
例えば、これはコンパイル:
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 Compilerは相違を最適化しますか?