INNER CODE UNIT · Rust

main

OpenGMK/OpenGMK · gm8emulator/build.rs:11

fn main() -> Result<(), Box<dyn Error>> {
    let out = env::var("OUT_DIR")?;

    // that one giant macro in kernel.rs
    let aa_macro_path = &Path::new(&out).join("_apply_args.macro.rs");
    if !aa_macro_path.is_file() {
        let i_char = |i| char::from(b'a' + i);
        let mut aa_macro = String::with_capacity(16384);
        aa_macro += &"macro_rules! _apply_args {\n    ($args: expr,) => { Ok(()) };\n".to_string();
        for i in 1..=16 {
            aa_macro += "    ($args: expr, ";
            for j in 0..i {
                aa_macro += &format!("${}: ident ", i_char(j));
            }
            aa_macro.truncate(aa_macro.len() - 1);
            aa_macro += ") => {{\n        match $args {\n            [";
            for j in 0..i {
                aa_macro.push(i_char(j));

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…