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"),
}
}
},