fn split_then(path: &str, names: &mut Vec<String>, rest: &[Part]) -> bool
Try each dot boundary of path as a wildcard name, shortest first, and keep the name only when the rest of the pattern matches.
path