Skip to content

Commit e11b873

Browse files
committed
Stop using old version of syn in rustc-workspace-hack
None of the tools seem to need syn 0.15.35, so we can just build syn 1.0. This was causing an issue with clippy's `compile-test` program: since multiple versions of `syn` would exist in the build directory, we would non-deterministically pick one based on filesystem iteration order. If the pre-1.0 version of `syn` was picked, a strange build error would occur (see rust-lang#73594 (comment)) To prevent this kind of issue from happening again, we now panic if we find multiple versions of a crate in the build directly, instead of silently picking the first version we find.
1 parent 922ff8e commit e11b873

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

tests/compile-test.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ fn third_party_crates() -> String {
4949
if let Some(name) = path.file_name().and_then(OsStr::to_str) {
5050
for dep in CRATES {
5151
if name.starts_with(&format!("lib{}-", dep)) && name.ends_with(".rlib") {
52-
crates.entry(dep).or_insert(path);
52+
if let Some(old) = crates.insert(dep, path.clone()) {
53+
panic!("Found multiple rlibs for crate `{}`: `{:?}` and `{:?}", dep, old, path);
54+
}
5355
break;
5456
}
5557
}

0 commit comments

Comments
 (0)