Skip to content

Commit

Permalink
Document rustfmt on nightly-rustc
Browse files Browse the repository at this point in the history
The recursion_limit attribute avoids the following error:

```
error[E0275]: overflow evaluating the requirement `std::ptr::Unique<rustc_ast::Pat>: std::marker::Send`
  |
  = help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`rustfmt_nightly`)
```
  • Loading branch information
jyn514 committed Jul 1, 2021
1 parent 81f3ab6 commit 01cf0bd
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 6 deletions.
2 changes: 1 addition & 1 deletion src/bootstrap/builder.rs
Expand Up @@ -465,7 +465,7 @@ impl<'a> Builder<'a> {
doc::Std,
doc::Rustc,
doc::Rustdoc,
// doc::Rustfmt,
doc::Rustfmt,
doc::ErrorIndex,
doc::Nomicon,
doc::Reference,
Expand Down
16 changes: 11 additions & 5 deletions src/bootstrap/doc.rs
Expand Up @@ -594,7 +594,7 @@ impl Step for Rustc {
}

macro_rules! tool_doc {
($tool: ident, $should_run: literal, $path: literal, [$($krate: literal),+ $(,)?]) => {
($tool: ident, $should_run: literal, $path: literal, [$($krate: literal),+ $(,)?] $(, binary=$bin:expr)?) => {
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct $tool {
stage: u32,
Expand Down Expand Up @@ -639,9 +639,6 @@ macro_rules! tool_doc {
// Build rustc docs so that we generate relative links.
builder.ensure(Rustc { stage, target });

// Build the tool.
builder.ensure(tool::$tool { compiler });

// Symlink compiler docs to the output directory of rustdoc documentation.
let out_dir = builder.stage_out(compiler, Mode::ToolRustc).join(target.triple).join("doc");
t!(fs::create_dir_all(&out_dir));
Expand All @@ -666,7 +663,9 @@ macro_rules! tool_doc {
cargo.arg("-p").arg($krate);
)+

cargo.rustdocflag("--document-private-items");
$(if !$bin {
cargo.rustdocflag("--document-private-items");
})?
cargo.rustdocflag("--enable-index-page");
cargo.rustdocflag("--show-type-layout");
cargo.rustdocflag("-Zunstable-options");
Expand All @@ -677,6 +676,13 @@ macro_rules! tool_doc {
}

tool_doc!(Rustdoc, "rustdoc-tool", "src/tools/rustdoc", ["rustdoc", "rustdoc-json-types"]);
tool_doc!(
Rustfmt,
"rustfmt-nightly",
"src/tools/rustfmt",
["rustfmt-nightly", "rustfmt-config_proc_macro"],
binary = true
);

#[derive(Ord, PartialOrd, Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct ErrorIndex {
Expand Down
1 change: 1 addition & 0 deletions src/tools/rustfmt/src/lib.rs
@@ -1,6 +1,7 @@
#![feature(rustc_private)]
#![deny(rust_2018_idioms)]
#![warn(unreachable_pub)]
#![recursion_limit = "256"]

#[macro_use]
extern crate derive_new;
Expand Down

0 comments on commit 01cf0bd

Please sign in to comment.