A runtime mode can combine a dry-run flag with a selected log level to describe behavior clearly.

Program

Play the program to choose a log level and see the resulting mode label.

log_level
feature_flag_matrix.rs
Replay: real traced execution (multi-file project)
fn main() {
    let dry_run = true;
    let log_level = "normal";
    let label = match (dry_run, log_level) {
        (true, "debug") => "dry-run debug",
        (true, "quiet") => "dry-run quiet",
        (true, _) => "dry-run",
        (false, "debug") => "live debug",
        _ => "live",
    };
    println!("{label}");
}
fn main() {
    let dry_run = true;
    let log_level = "quiet";
    let label = match (dry_run, log_level) {
        (true, "debug") => "dry-run debug",
        (true, "quiet") => "dry-run quiet",
        (true, _) => "dry-run",
        (false, "debug") => "live debug",
        _ => "live",
    };
    println!("{label}");
}
fn main() {
    let dry_run = true;
    let log_level = "debug";
    let label = match (dry_run, log_level) {
        (true, "debug") => "dry-run debug",
        (true, "quiet") => "dry-run quiet",
        (true, _) => "dry-run",
        (false, "debug") => "live debug",
        _ => "live",
    };
    println!("{label}");
}
  1. dry_run ← true, log_level ← "normal", label ← "dry-run"

    1fn main() {2    let dry_ru→ truen = true;3    let log_leve→ "normal"l = "normal"; //@log_level="normal", "quiet", "debug"4    let labe→ "dry-run"l = match (dry_rutruen, log_leve"normal"l) {5        (true, "debug") => "dry-run debug",6        (true, "quiet") => "dry-run quiet",7        (true, _) => "dry-run",8        (false, "debug") => "live debug",9        _ => "live",10    };11    println!("{label}");12}
    outputdry-run
  1. dry_run ← true, log_level ← "quiet", label ← "dry-run quiet"

    1fn main() {2    let dry_ru→ truen = true;3    let log_leve→ "quiet"l = "quiet";4    let labe→ "dry-run quiet"l = match (dry_rutruen, log_leve"quiet"l) {5        (true, "debug") => "dry-run debug",6        (true, "quiet") => "dry-run quiet",7        (true, _) => "dry-run",8        (false, "debug") => "live debug",9        _ => "live",10    };11    println!("{label}");12}
    outputdry-run quiet
  1. dry_run ← true, log_level ← "debug", label ← "dry-run debug"

    1fn main() {2    let dry_ru→ truen = true;3    let log_leve→ "debug"l = "debug";4    let labe→ "dry-run debug"l = match (dry_rutruen, log_leve"debug"l) {5        (true, "debug") => "dry-run debug",6        (true, "quiet") => "dry-run quiet",7        (true, _) => "dry-run",8        (false, "debug") => "live debug",9        _ => "live",10    };11    println!("{label}");12}
    outputdry-run debug
flag `dry_run` is a boolean flag that changes whether work is only simulated.
mode value `log_level` is a string mode selected at runtime.
match table Matching the pair keeps the flag matrix explicit and readable.