• PoolloverNathan@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    6 months ago

    I present to you quality variable names. (and a Mount Rustmore)

    (Reconfigure(f), 'c') => {
        let mut p: Vec<&str> = vec![];
        loop {
            match args.next() {
                Some(k) => {
                    if k == "=" {
                        match args.next() {
                            None => q("need value for Rc"),
                            Some(v) => u(
                                f,
                                |f| Box::new(
                                    |c| {
                                        f(c);
                                        c.set(p.iter().copied(), v);
                                        for e in p {
                                            unsafe {
                                                Box::<str>::from_raw(
                                                    std::mem::transmute(e)
                                                );
                                            }
                                        }
                                    }
                                )
                            )
                        };
                        break
                    } else {
                        p.push(Box::leak(k.into()));
                    }
                }
                None => error("need path element or = for Rc"),
            }
        }
    },