Skip to content

Commit f38136e

Browse files
committed
refactor(toml): Give higher level info to target inference
1 parent b6c7544 commit f38136e

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

src/cargo/util/toml/targets.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,7 @@ fn resolve_examples(
406406
warnings: &mut Vec<String>,
407407
errors: &mut Vec<String>,
408408
) -> CargoResult<Vec<TomlExampleTarget>> {
409-
let inferred = infer_from_directory(&package_root.join(DEFAULT_EXAMPLE_DIR_NAME));
409+
let inferred = infer_from_directory(&package_root, Path::new(DEFAULT_EXAMPLE_DIR_NAME));
410410

411411
let targets = resolve_targets(
412412
"example",
@@ -462,7 +462,7 @@ fn resolve_tests(
462462
warnings: &mut Vec<String>,
463463
errors: &mut Vec<String>,
464464
) -> CargoResult<Vec<TomlTestTarget>> {
465-
let inferred = infer_from_directory(&package_root.join(DEFAULT_TEST_DIR_NAME));
465+
let inferred = infer_from_directory(&package_root, Path::new(DEFAULT_TEST_DIR_NAME));
466466

467467
let targets = resolve_targets(
468468
"test",
@@ -521,7 +521,7 @@ fn resolve_benches(
521521
Some(legacy_path)
522522
};
523523

524-
let inferred = infer_from_directory(&package_root.join(DEFAULT_BENCH_DIR_NAME));
524+
let inferred = infer_from_directory(&package_root, Path::new(DEFAULT_BENCH_DIR_NAME));
525525

526526
let targets = resolve_targets_with_legacy_path(
527527
"benchmark",
@@ -654,12 +654,14 @@ fn inferred_bins(package_root: &Path, package_name: &str) -> Vec<(String, PathBu
654654
if main.exists() {
655655
result.push((package_name.to_string(), main));
656656
}
657-
result.extend(infer_from_directory(&package_root.join("src").join("bin")));
657+
let default_bin_dir_name = Path::new("src").join("bin");
658+
result.extend(infer_from_directory(&package_root, &default_bin_dir_name));
658659

659660
result
660661
}
661662

662-
fn infer_from_directory(directory: &Path) -> Vec<(String, PathBuf)> {
663+
fn infer_from_directory(package_root: &Path, relpath: &Path) -> Vec<(String, PathBuf)> {
664+
let directory = package_root.join(relpath);
663665
let entries = match fs::read_dir(directory) {
664666
Err(_) => return Vec::new(),
665667
Ok(dir) => dir,

0 commit comments

Comments
 (0)