mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-04 19:29:07 +00:00
Auto merge of #90389 - camelid:rustdoc-rayon, r=jyn514
rustdoc: Switch to mainline rayon The rustc fork of rayon integrates with Cargo's jobserver to limit the amount of parallelism. However, rustdoc's use case is concurrent I/O, which is not CPU-heavy, so it should be able to use mainline rayon. See [this discussion][1] for more details. [1]: https://github.com/rust-lang/rust/issues/90227#issuecomment-952468618 Note: I chose rayon 1.3.1 so that the rayon version used elsewhere in the workspace does not change. r? `@Mark-Simulacrum` cc `@jyn514`
This commit is contained in:
commit
deb4572923
@ -4615,8 +4615,8 @@ dependencies = [
|
|||||||
"itertools 0.9.0",
|
"itertools 0.9.0",
|
||||||
"minifier",
|
"minifier",
|
||||||
"pulldown-cmark 0.8.0",
|
"pulldown-cmark 0.8.0",
|
||||||
|
"rayon",
|
||||||
"regex",
|
"regex",
|
||||||
"rustc-rayon",
|
|
||||||
"rustdoc-json-types",
|
"rustdoc-json-types",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
|
@ -10,7 +10,7 @@ path = "lib.rs"
|
|||||||
arrayvec = { version = "0.7", default-features = false }
|
arrayvec = { version = "0.7", default-features = false }
|
||||||
pulldown-cmark = { version = "0.8", default-features = false }
|
pulldown-cmark = { version = "0.8", default-features = false }
|
||||||
minifier = "0.0.41"
|
minifier = "0.0.41"
|
||||||
rayon = { version = "0.3.0", package = "rustc-rayon" }
|
rayon = "1.3.1"
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
serde = { version = "1.0", features = ["derive"] }
|
||||||
serde_json = "1.0"
|
serde_json = "1.0"
|
||||||
smallvec = "1.6.1"
|
smallvec = "1.6.1"
|
||||||
|
@ -15,15 +15,6 @@ use std::path::{Path, PathBuf};
|
|||||||
use std::string::ToString;
|
use std::string::ToString;
|
||||||
use std::sync::mpsc::Sender;
|
use std::sync::mpsc::Sender;
|
||||||
|
|
||||||
macro_rules! try_err {
|
|
||||||
($e:expr, $file:expr) => {
|
|
||||||
match $e {
|
|
||||||
Ok(e) => e,
|
|
||||||
Err(e) => return Err(E::new(e, $file)),
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
crate trait PathError {
|
crate trait PathError {
|
||||||
fn new<S, P: AsRef<Path>>(e: S, path: P) -> Self
|
fn new<S, P: AsRef<Path>>(e: S, path: P) -> Self
|
||||||
where
|
where
|
||||||
@ -75,7 +66,7 @@ impl DocFS {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
try_err!(fs::write(&path, contents), path);
|
fs::write(&path, contents).map_err(|e| E::new(e, path))?;
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user