fn skip_empty_utf8_splits_overlapping<F>(
    input: &Input<'_>,
    state: &mut OverlappingState,
    search: F,
) -> Result<(), MatchError>
where F: FnMut(&Input<'_>, &mut OverlappingState) -> Result<(), MatchError>,
Expand description

Runs the given overlapping search function (forwards or backwards) until a match is found whose offset does not split a codepoint.

This is not always correct to call. It should only be called when the underlying NFA has UTF-8 mode enabled and it can produce zero-width matches. Calling this when both of those things aren’t true might result in legitimate matches getting skipped.