typeset 3.1.2

A DSL for defining source code pretty printers
Documentation
1
2
3
4
5
6
7
8
9
use bumpalo::Bump;

pub fn compose<'a, A, B, C>(
    mem: &'a Bump,
    f: &'a (dyn Fn(&'a Bump, B) -> C + 'a),
    g: &'a (dyn Fn(&'a Bump, A) -> B + 'a),
) -> &'a (dyn Fn(&'a Bump, A) -> C + 'a) {
    mem.alloc(|mem, val| f(mem, g(mem, val)))
}