typeset/
util.rs

1use bumpalo::Bump;
2
3pub fn compose<'a, A, B, C>(
4  mem: &'a Bump,
5  f: &'a (dyn Fn(&'a Bump, B) -> C + 'a),
6  g: &'a (dyn Fn(&'a Bump, A) -> B + 'a)
7) -> &'a (dyn Fn(&'a Bump, A) -> C + 'a) {
8  mem.alloc(|mem, val| f(mem, g(mem, val)))
9}