Dans Rust, il semble que vous pouvez mettre n'importe quoi dans le main. , Les blocs de caractères, la mise en œuvre des fonctions, variables statiques ...Y at-il un désavantage de performance à tout mettre en main?
Par exemple, cette compile:
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!");
}
Comme vous pouvez le voir, vous pouvez même imbriquer ces choses à l'intérieur d'autres blocs.
Évidemment, cela est mauvais d'un point de vue stylistique; c'est moche, plus difficile à refactoriser, et rend la réutilisation du code plus difficile.
Mais je suis curieux: y a-t-il des frais généraux de performance à faire? Ou le compilateur Rust optimise-t-il les différences?