(src: &str)
| 160 | return Ok(candidate); |
| 161 | } |
| 162 | let src_candidate = base.join("src").join(path); |
| 163 | if src_candidate.exists() { |
| 164 | return Ok(src_candidate); |
| 165 | } |
| 166 | |
| 167 | let src_root = base.join("src"); |
| 168 | let mut matches = Vec::<PathBuf>::new(); |
| 169 | collect_suffix_matches(&src_root, path, &mut matches)?; |
| 170 | if matches.len() == 1 { |
| 171 | return Ok(matches.remove(0)); |
| 172 | } |
| 173 | if matches.len() > 1 { |
| 174 | return Err(format!( |
| 175 | "path `{path}` ambiguous ({} matches); use longer path", |
| 176 | matches.len() |
| 177 | )); |
| 178 | } |
| 179 | |
| 180 | Err(format!( |
no test coverage detected