pub fn search_slots<C: Cursor>(
    vm: &PikeVM,
    cache: &mut Cache,
    input: &mut Input<C>,
    slots: &mut [Option<NonMaxUsize>]
) -> Option<PatternID>