Rust by Example

12.3.1 条件の追加

target_osのように、いくつかの条件分岐はrustcが暗黙のうちに提供しています。条件を独自に追加する場合には--cfgフラグを用いてrustcに伝える必要があります。

// custom.rs
#[cfg(some_condition)]
fn conditional_function() {
    println!("condition met!")
}

fn main() {
    conditional_function();
}

cfgフラグがない場合:

$ rustc custom.rs && ./custom
No such file or directory (os error 2)

cfgフラグがある場合:

$ rustc --cfg some_condition custom.rs && ./custom
condition met!