Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only check the compiler and standard library before documenting them #88675

Closed
wants to merge 2 commits into from

Conversation

jyn514
Copy link
Member

@jyn514 jyn514 commented Sep 5, 2021

Rustdoc doesn't require the build artifacts to generate the docs, and
especially in the case of rustc, it greatly increases the time needed to
run the build.

r? @Mark-Simulacrum cc @steffahn

@jyn514 jyn514 added T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) A-contributor-roadblock Area: Makes things more difficult for new contributors to rust itself labels Sep 5, 2021
@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 5, 2021
@steffahn
Copy link
Member

steffahn commented Sep 5, 2021

Great improvement, not only for documenting rustc. Also, when working on standard library docs, this is a huge improvement, especially when modifying core: this changes x doc library/core from taking over a minute to below 10s (on my machine), because previously, touching core meant rebuilding the entire stack from core all the way up to std before re-documenting core.

@steffahn
Copy link
Member

steffahn commented Sep 5, 2021

Seems to work as intended for rustc as-well, AFAICT. Beautiful 😍

Output (click to expand)
 ~/forks/rust   faster-doc  x doc compiler/rustc --stage 1       
Updating only changed submodules
Submodules updated in 0.01 seconds
    Finished dev [unoptimized + debuginfo] target(s) in 0.25s
Documenting stage1 compiler (x86_64-unknown-linux-gnu)
Building stage0 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
   Compiling cc v1.0.69
   Compiling core v0.0.0 (/home/frank/forks/rust/library/core)
   Compiling libc v0.2.99
   Compiling memchr v2.4.1
   Compiling std v0.0.0 (/home/frank/forks/rust/library/std)
   Compiling compiler_builtins v0.1.49
   Compiling unwind v0.0.0 (/home/frank/forks/rust/library/unwind)
   Compiling rustc-std-workspace-core v1.99.0 (/home/frank/forks/rust/library/rustc-std-workspace-core)
   Compiling alloc v0.0.0 (/home/frank/forks/rust/library/alloc)
   Compiling cfg-if v0.1.10
   Compiling adler v0.2.3
   Compiling rustc-demangle v0.1.21
   Compiling rustc-std-workspace-alloc v1.99.0 (/home/frank/forks/rust/library/rustc-std-workspace-alloc)
   Compiling panic_unwind v0.0.0 (/home/frank/forks/rust/library/panic_unwind)
   Compiling panic_abort v0.0.0 (/home/frank/forks/rust/library/panic_abort)
   Compiling gimli v0.25.0
   Compiling std_detect v0.1.5 (/home/frank/forks/rust/library/stdarch/crates/std_detect)
   Compiling miniz_oxide v0.4.0
   Compiling object v0.26.2
   Compiling hashbrown v0.11.0
   Compiling addr2line v0.16.0
   Compiling rustc-std-workspace-std v1.99.0 (/home/frank/forks/rust/library/rustc-std-workspace-std)
   Compiling proc_macro v0.0.0 (/home/frank/forks/rust/library/proc_macro)
   Compiling unicode-width v0.1.8
   Compiling getopts v0.2.21
   Compiling test v0.0.0 (/home/frank/forks/rust/library/test)
    Finished release [optimized] target(s) in 1m 26s
Copying stage0 std from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Building stage0 compiler artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
   Compiling autocfg v1.0.0
   Compiling libc v0.2.99
   Compiling proc-macro2 v1.0.24
   Compiling unicode-xid v0.2.2
   Compiling syn v1.0.65
   Compiling cfg-if v0.1.10
   Compiling lazy_static v1.4.0
   Compiling cfg-if v1.0.0
   Compiling scopeguard v1.1.0
   Compiling log v0.4.14
   Compiling smallvec v1.6.1
   Compiling cc v1.0.69
   Compiling hashbrown v0.11.0
   Compiling maybe-uninit v2.0.0
   Compiling instant v0.1.6
   Compiling getrandom v0.2.0
   Compiling bitflags v1.2.1
   Compiling pin-project-lite v0.2.4
   Compiling version_check v0.9.3
   Compiling ppv-lite86 v0.2.8
   Compiling typenum v1.12.0
   Compiling either v1.6.0
   Compiling rustc-hash v1.1.0
   Compiling rustc-rayon-core v0.3.1
   Compiling arrayvec v0.7.0
   Compiling remove_dir_all v0.5.3
   Compiling opaque-debug v0.3.0
   Compiling stable_deref_trait v1.2.0
   Compiling rustc_graphviz v0.0.0 (/home/frank/forks/rust/compiler/rustc_graphviz)
   Compiling cpuid-bool v0.1.2
   Compiling unicode-width v0.1.8
   Compiling scoped-tls v1.0.0
   Compiling termcolor v1.1.2
   Compiling annotate-snippets v0.8.0
   Compiling rustc_fs_util v0.0.0 (/home/frank/forks/rust/compiler/rustc_fs_util)
   Compiling datafrog v2.0.1
   Compiling serde_derive v1.0.125
   Compiling serde v1.0.125
   Compiling tinyvec v0.3.4
   Compiling memchr v2.4.1
   Compiling regex-syntax v0.6.25
   Compiling ryu v1.0.5
   Compiling serde_json v1.0.59
   Compiling itoa v0.4.6
   Compiling getrandom v0.1.14
   Compiling snap v1.0.1
   Compiling ansi_term v0.12.1
   Compiling crc32fast v1.2.0
   Compiling unicode-script v0.5.3
   Compiling fixedbitset v0.2.0
   Compiling if_chain v1.0.0
   Compiling build_helper v0.1.0 (/home/frank/forks/rust/src/build_helper)
   Compiling rustc-demangle v0.1.21
   Compiling punycode v0.4.1
   Compiling pathdiff v0.2.0
   Compiling rustc_error_codes v0.0.0 (/home/frank/forks/rust/compiler/rustc_error_codes)
   Compiling lock_api v0.4.1
   Compiling tracing-core v0.1.17
   Compiling sharded-slab v0.1.1
   Compiling thread_local v1.0.1
   Compiling indexmap v1.7.0
   Compiling crossbeam-utils v0.7.2
   Compiling memoffset v0.5.5
   Compiling crossbeam-epoch v0.8.2
   Compiling num-traits v0.2.12
   Compiling num-integer v0.1.43
   Compiling itertools v0.9.0
   Compiling generic-array v0.14.4
   Compiling getopts v0.2.21
   Compiling rustc_lexer v0.1.0 (/home/frank/forks/rust/compiler/rustc_lexer)
   Compiling unicode-normalization v0.1.13
   Compiling psm v0.1.16
   Compiling stacker v0.1.14
   Compiling rustc_llvm v0.0.0 (/home/frank/forks/rust/compiler/rustc_llvm)
   Compiling regex-automata v0.1.10
   Compiling ena v0.14.0
   Compiling polonius-engine v0.13.0
   Compiling tracing-log v0.1.2
   Compiling unicode-security v0.0.5
   Compiling quote v1.0.7
   Compiling rustc_apfloat v0.0.0 (/home/frank/forks/rust/compiler/rustc_apfloat)
   Compiling parking_lot_core v0.8.3
   Compiling num_cpus v1.13.0
   Compiling perf-event-open-sys v1.0.1
   Compiling memmap2 v0.2.1
   Compiling jobserver v0.1.24
   Compiling atty v0.2.14
   Compiling termize v0.1.1
   Compiling aho-corasick v0.7.13
   Compiling matchers v0.0.1
   Compiling rustc_serialize v0.0.0 (/home/frank/forks/rust/compiler/rustc_serialize)
   Compiling petgraph v0.5.1
   Compiling object v0.26.2
   Compiling crossbeam-queue v0.2.3
   Compiling cstr v0.2.8
   Compiling parking_lot v0.11.1
   Compiling rand_core v0.6.2
   Compiling rand_core v0.5.1
   Compiling block-buffer v0.9.0
   Compiling digest v0.9.0
   Compiling regex v1.4.6
   Compiling crossbeam-deque v0.7.4
   Compiling measureme v9.1.2
   Compiling rand_chacha v0.3.0
   Compiling chrono v0.4.19
   Compiling rand_chacha v0.2.2
   Compiling md-5 v0.9.1
   Compiling sha-1 v0.9.1
   Compiling sha2 v0.9.1
   Compiling rand v0.8.3
   Compiling rand v0.7.3
   Compiling synstructure v0.12.4
   Compiling rustc-rayon v0.3.1
   Compiling tempfile v3.2.0
   Compiling tracing-attributes v0.1.13
   Compiling rustc_macros v0.1.0 (/home/frank/forks/rust/compiler/rustc_macros)
   Compiling chalk-derive v0.55.0
   Compiling chalk-ir v0.55.0
   Compiling tracing v0.1.25
   Compiling rustc_index v0.0.0 (/home/frank/forks/rust/compiler/rustc_index)
   Compiling rustc_data_structures v0.0.0 (/home/frank/forks/rust/compiler/rustc_data_structures)
   Compiling rustc_arena v0.0.0 (/home/frank/forks/rust/compiler/rustc_arena)
   Compiling rustc_type_ir v0.0.0 (/home/frank/forks/rust/compiler/rustc_type_ir)
   Compiling rustc_span v0.0.0 (/home/frank/forks/rust/compiler/rustc_span)
   Compiling rustc_ast v0.0.0 (/home/frank/forks/rust/compiler/rustc_ast)
   Compiling rustc_target v0.0.0 (/home/frank/forks/rust/compiler/rustc_target)
   Compiling rustc_feature v0.0.0 (/home/frank/forks/rust/compiler/rustc_feature)
   Compiling rustc_parse_format v0.0.0 (/home/frank/forks/rust/compiler/rustc_parse_format)
   Compiling tracing-serde v0.1.2
   Compiling gsgdt v0.1.2
   Compiling rls-span v0.5.3
   Compiling tracing-subscriber v0.2.16
   Compiling rls-data v0.19.1
   Compiling tracing-tree v0.1.9
   Compiling chalk-solve v0.55.0
   Compiling rustc_lint_defs v0.0.0 (/home/frank/forks/rust/compiler/rustc_lint_defs)
   Compiling rustc_ast_pretty v0.0.0 (/home/frank/forks/rust/compiler/rustc_ast_pretty)
   Compiling rustc_hir v0.0.0 (/home/frank/forks/rust/compiler/rustc_hir)
   Compiling rustc_errors v0.0.0 (/home/frank/forks/rust/compiler/rustc_errors)
   Compiling chalk-engine v0.55.0
   Compiling rustc_session v0.0.0 (/home/frank/forks/rust/compiler/rustc_session)
   Compiling rustc_hir_pretty v0.0.0 (/home/frank/forks/rust/compiler/rustc_hir_pretty)
   Compiling rustc_attr v0.0.0 (/home/frank/forks/rust/compiler/rustc_attr)
   Compiling rustc_query_system v0.0.0 (/home/frank/forks/rust/compiler/rustc_query_system)
   Compiling rustc_parse v0.0.0 (/home/frank/forks/rust/compiler/rustc_parse)
   Compiling rustc_ast_lowering v0.0.0 (/home/frank/forks/rust/compiler/rustc_ast_lowering)
   Compiling rustc_middle v0.0.0 (/home/frank/forks/rust/compiler/rustc_middle)
   Compiling rustc_ast_passes v0.0.0 (/home/frank/forks/rust/compiler/rustc_ast_passes)
   Compiling rustc_expand v0.0.0 (/home/frank/forks/rust/compiler/rustc_expand)
   Compiling rustc_builtin_macros v0.0.0 (/home/frank/forks/rust/compiler/rustc_builtin_macros)
   Compiling rustc_infer v0.0.0 (/home/frank/forks/rust/compiler/rustc_infer)
   Compiling rustc_metadata v0.0.0 (/home/frank/forks/rust/compiler/rustc_metadata)
   Compiling rustc_symbol_mangling v0.0.0 (/home/frank/forks/rust/compiler/rustc_symbol_mangling)
   Compiling rustc_incremental v0.0.0 (/home/frank/forks/rust/compiler/rustc_incremental)
   Compiling rustc_query_impl v0.0.0 (/home/frank/forks/rust/compiler/rustc_query_impl)
   Compiling rustc_passes v0.0.0 (/home/frank/forks/rust/compiler/rustc_passes)
   Compiling rustc_save_analysis v0.0.0 (/home/frank/forks/rust/compiler/rustc_save_analysis)
   Compiling rustc_resolve v0.0.0 (/home/frank/forks/rust/compiler/rustc_resolve)
   Compiling rustc_codegen_ssa v0.0.0 (/home/frank/forks/rust/compiler/rustc_codegen_ssa)
   Compiling rustc_trait_selection v0.0.0 (/home/frank/forks/rust/compiler/rustc_trait_selection)
   Compiling rustc_codegen_llvm v0.0.0 (/home/frank/forks/rust/compiler/rustc_codegen_llvm)
   Compiling rustc_lint v0.0.0 (/home/frank/forks/rust/compiler/rustc_lint)
   Compiling rustc_ty_utils v0.0.0 (/home/frank/forks/rust/compiler/rustc_ty_utils)
   Compiling rustc_traits v0.0.0 (/home/frank/forks/rust/compiler/rustc_traits)
   Compiling rustc_mir_build v0.0.0 (/home/frank/forks/rust/compiler/rustc_mir_build)
   Compiling rustc_plugin_impl v0.0.0 (/home/frank/forks/rust/compiler/rustc_plugin_impl)
   Compiling rustc_typeck v0.0.0 (/home/frank/forks/rust/compiler/rustc_typeck)
   Compiling rustc_mir v0.0.0 (/home/frank/forks/rust/compiler/rustc_mir)
   Compiling rustc_privacy v0.0.0 (/home/frank/forks/rust/compiler/rustc_privacy)
   Compiling rustc_interface v0.0.0 (/home/frank/forks/rust/compiler/rustc_interface)
   Compiling rustc_driver v0.0.0 (/home/frank/forks/rust/compiler/rustc_driver)
   Compiling rustc-main v0.0.0 (/home/frank/forks/rust/compiler/rustc)
    Finished release [optimized] target(s) in 14m 28s
Copying stage0 rustc from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Assembling stage1 compiler (x86_64-unknown-linux-gnu)
Building stage1 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
   Compiling cc v1.0.69
   Compiling core v0.0.0 (/home/frank/forks/rust/library/core)
   Compiling libc v0.2.99
   Compiling memchr v2.4.1
   Compiling std v0.0.0 (/home/frank/forks/rust/library/std)
   Compiling compiler_builtins v0.1.49
   Compiling unwind v0.0.0 (/home/frank/forks/rust/library/unwind)
   Compiling rustc-std-workspace-core v1.99.0 (/home/frank/forks/rust/library/rustc-std-workspace-core)
   Compiling alloc v0.0.0 (/home/frank/forks/rust/library/alloc)
   Compiling cfg-if v0.1.10
   Compiling adler v0.2.3
   Compiling rustc-demangle v0.1.21
   Compiling rustc-std-workspace-alloc v1.99.0 (/home/frank/forks/rust/library/rustc-std-workspace-alloc)
   Compiling panic_abort v0.0.0 (/home/frank/forks/rust/library/panic_abort)
   Compiling panic_unwind v0.0.0 (/home/frank/forks/rust/library/panic_unwind)
   Compiling gimli v0.25.0
   Compiling hashbrown v0.11.0
   Compiling miniz_oxide v0.4.0
   Compiling object v0.26.2
   Compiling std_detect v0.1.5 (/home/frank/forks/rust/library/stdarch/crates/std_detect)
   Compiling addr2line v0.16.0
   Compiling rustc-std-workspace-std v1.99.0 (/home/frank/forks/rust/library/rustc-std-workspace-std)
   Compiling proc_macro v0.0.0 (/home/frank/forks/rust/library/proc_macro)
   Compiling unicode-width v0.1.8
   Compiling getopts v0.2.21
   Compiling test v0.0.0 (/home/frank/forks/rust/library/test)
    Finished release [optimized] target(s) in 1m 31s
Copying stage1 std from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Building rustdoc for stage1 (x86_64-unknown-linux-gnu)
   Compiling autocfg v1.0.0
   Compiling lazy_static v1.4.0
   Compiling proc-macro2 v1.0.24
   Compiling libc v0.2.99
   Compiling unicode-xid v0.2.2
   Compiling syn v1.0.65
   Compiling cfg-if v1.0.0
   Compiling memchr v2.4.1
   Compiling cfg-if v0.1.10
   Compiling regex-syntax v0.6.25
   Compiling scopeguard v1.1.0
   Compiling log v0.4.14
   Compiling maybe-uninit v2.0.0
   Compiling serde_derive v1.0.125
   Compiling getrandom v0.2.0
   Compiling ucd-trie v0.1.3
   Compiling bitflags v1.2.1
   Compiling serde v1.0.125
   Compiling ryu v1.0.5
   Compiling fnv v1.0.7
   Compiling smallvec v1.6.1
   Compiling version_check v0.9.3
   Compiling instant v0.1.6
   Compiling same-file v1.0.6
   Compiling maplit v1.0.2
   Compiling pin-project-lite v0.2.4
   Compiling rustc-rayon-core v0.3.1
   Compiling serde_json v1.0.59
   Compiling ppv-lite86 v0.2.8
   Compiling itoa v0.4.6
   Compiling pulldown-cmark v0.8.0
   Compiling ansi_term v0.12.1
   Compiling either v1.6.0
   Compiling termcolor v1.1.2
   Compiling macro-utils v0.1.3
   Compiling remove_dir_all v0.5.3
   Compiling arrayvec v0.7.0
   Compiling thread_local v1.0.1
   Compiling tracing-core v0.1.17
   Compiling sharded-slab v0.1.1
   Compiling lock_api v0.4.1
   Compiling crossbeam-utils v0.7.2
   Compiling memoffset v0.5.5
   Compiling crossbeam-utils v0.8.3
   Compiling crossbeam-epoch v0.8.2
   Compiling pest v2.1.3
   Compiling walkdir v2.3.1
   Compiling itertools v0.9.0
   Compiling unicase v2.6.0
   Compiling minifier v0.0.41
   Compiling regex-automata v0.1.10
   Compiling tracing-log v0.1.2
   Compiling aho-corasick v0.7.13
   Compiling bstr v0.2.13
   Compiling pest_meta v2.1.3
   Compiling quote v1.0.7
   Compiling parking_lot_core v0.8.3
   Compiling num_cpus v1.13.0
   Compiling atty v0.2.14
   Compiling matchers v0.0.1
   Compiling regex v1.4.6
   Compiling crossbeam-queue v0.2.3
   Compiling rand_core v0.6.2
   Compiling parking_lot v0.11.1
   Compiling crossbeam-deque v0.7.4
   Compiling rand_chacha v0.3.0
   Compiling globset v0.4.5
   Compiling rand v0.8.3
   Compiling ignore v0.4.17
   Compiling rustc-rayon v0.3.1
   Compiling tempfile v3.2.0
   Compiling globwalk v0.8.1
   Compiling pest_generator v2.1.3
   Compiling tracing-attributes v0.1.13
   Compiling pest_derive v2.1.0
   Compiling tracing v0.1.25
   Compiling tracing-subscriber v0.2.16
   Compiling tracing-tree v0.1.9
   Compiling rustdoc-json-types v0.1.0 (/home/frank/forks/rust/src/rustdoc-json-types)
   Compiling tera v1.10.0
   Compiling rustdoc v0.0.0 (/home/frank/forks/rust/src/librustdoc)
   Compiling rustdoc-tool v0.0.0 (/home/frank/forks/rust/src/tools/rustdoc)
    Finished release [optimized] target(s) in 2m 12s
   Compiling autocfg v1.0.0
   Compiling libc v0.2.99
   Compiling proc-macro2 v1.0.24
   Compiling syn v1.0.65
   Compiling unicode-xid v0.2.2
    Checking cfg-if v0.1.10
    Checking lazy_static v1.4.0
    Checking cfg-if v1.0.0
    Checking smallvec v1.6.1
    Checking scopeguard v1.1.0
   Compiling cc v1.0.69
   Compiling log v0.4.14
    Checking hashbrown v0.11.0
   Compiling bitflags v1.2.1
    Checking instant v0.1.6
   Compiling maybe-uninit v2.0.0
   Compiling getrandom v0.2.0
    Checking ppv-lite86 v0.2.8
    Checking pin-project-lite v0.2.4
    Checking either v1.6.0
    Checking rustc-hash v1.1.0
   Compiling rustc-rayon-core v0.3.1
   Compiling version_check v0.9.3
    Checking arrayvec v0.7.0
   Compiling typenum v1.12.0
    Checking remove_dir_all v0.5.3
    Checking stable_deref_trait v1.2.0
    Checking rustc_graphviz v0.0.0 (/home/frank/forks/rust/compiler/rustc_graphviz)
    Checking opaque-debug v0.3.0
    Checking cpuid-bool v0.1.2
    Checking unicode-width v0.1.8
    Checking scoped-tls v1.0.0
    Checking termcolor v1.1.2
    Checking annotate-snippets v0.8.0
    Checking rustc_fs_util v0.0.0 (/home/frank/forks/rust/compiler/rustc_fs_util)
    Checking datafrog v2.0.1
    Checking tinyvec v0.3.4
   Compiling serde_derive v1.0.125
   Compiling serde v1.0.125
   Compiling memchr v2.4.1
    Checking regex-syntax v0.6.25
   Compiling ryu v1.0.5
   Compiling serde_json v1.0.59
   Compiling getrandom v0.1.14
    Checking itoa v0.4.6
   Compiling snap v1.0.1
    Checking unicode-script v0.5.3
    Checking if_chain v1.0.0
    Checking ansi_term v0.12.1
    Checking fixedbitset v0.2.0
   Compiling crc32fast v1.2.0
   Compiling build_helper v0.1.0 (/home/frank/forks/rust/src/build_helper)
    Checking punycode v0.4.1
    Checking rustc-demangle v0.1.21
    Checking pathdiff v0.2.0
    Checking rustc_error_codes v0.0.0 (/home/frank/forks/rust/compiler/rustc_error_codes)
 Documenting rustc_fs_util v0.0.0 (/home/frank/forks/rust/compiler/rustc_fs_util)
 Documenting rustc_error_codes v0.0.0 (/home/frank/forks/rust/compiler/rustc_error_codes)
 Documenting rustc_graphviz v0.0.0 (/home/frank/forks/rust/compiler/rustc_graphviz)
 Documenting coverage_test_macros v0.0.0 (/home/frank/forks/rust/compiler/rustc_mir/src/transform/coverage/test_macros)
    Checking tracing-core v0.1.17
    Checking sharded-slab v0.1.1
    Checking thread_local v1.0.1
    Checking lock_api v0.4.1
   Compiling indexmap v1.7.0
   Compiling crossbeam-utils v0.7.2
   Compiling memoffset v0.5.5
   Compiling crossbeam-epoch v0.8.2
   Compiling num-traits v0.2.12
   Compiling num-integer v0.1.43
    Checking itertools v0.9.0
    Checking getopts v0.2.21
    Checking rustc_lexer v0.1.0 (/home/frank/forks/rust/compiler/rustc_lexer)
 Documenting rustc_lexer v0.1.0 (/home/frank/forks/rust/compiler/rustc_lexer)
   Compiling generic-array v0.14.4
    Checking unicode-normalization v0.1.13
   Compiling psm v0.1.16
   Compiling stacker v0.1.14
   Compiling rustc_llvm v0.0.0 (/home/frank/forks/rust/compiler/rustc_llvm)
    Checking ena v0.14.0
    Checking polonius-engine v0.13.0
    Checking tracing-log v0.1.2
    Checking rustc_apfloat v0.0.0 (/home/frank/forks/rust/compiler/rustc_apfloat)
 Documenting rustc_apfloat v0.0.0 (/home/frank/forks/rust/compiler/rustc_apfloat)
    Checking quote v1.0.7
    Checking regex-automata v0.1.10
    Checking unicode-security v0.0.5
    Checking parking_lot_core v0.8.3
    Checking num_cpus v1.13.0
    Checking memmap2 v0.2.1
    Checking perf-event-open-sys v1.0.1
    Checking jobserver v0.1.24
    Checking atty v0.2.14
    Checking termize v0.1.1
    Checking aho-corasick v0.7.13
    Checking crossbeam-queue v0.2.3
    Checking rustc_serialize v0.0.0 (/home/frank/forks/rust/compiler/rustc_serialize)
    Checking petgraph v0.5.1
    Checking object v0.26.2
 Documenting rustc_serialize v0.0.0 (/home/frank/forks/rust/compiler/rustc_serialize)
   Compiling cstr v0.2.8
    Checking parking_lot v0.11.1
    Checking rand_core v0.6.2
    Checking matchers v0.0.1
    Checking rand_core v0.5.1
    Checking crossbeam-deque v0.7.4
    Checking regex v1.4.6
    Checking block-buffer v0.9.0
    Checking digest v0.9.0
    Checking measureme v9.1.2
    Checking rand_chacha v0.3.0
    Checking rand_chacha v0.2.2
    Checking chrono v0.4.19
    Checking md-5 v0.9.1
    Checking sha-1 v0.9.1
    Checking sha2 v0.9.1
    Checking rand v0.8.3
    Checking rand v0.7.3
    Checking rustc-rayon v0.3.1
    Checking tempfile v3.2.0
    Checking synstructure v0.12.4
 Documenting rustc_macros v0.1.0 (/home/frank/forks/rust/compiler/rustc_macros)
   Compiling tracing-attributes v0.1.13
   Compiling rustc_macros v0.1.0 (/home/frank/forks/rust/compiler/rustc_macros)
   Compiling chalk-derive v0.55.0
    Checking chalk-ir v0.55.0
    Checking tracing v0.1.25
    Checking rustc_index v0.0.0 (/home/frank/forks/rust/compiler/rustc_index)
 Documenting rustc_index v0.0.0 (/home/frank/forks/rust/compiler/rustc_index)
    Checking rustc_data_structures v0.0.0 (/home/frank/forks/rust/compiler/rustc_data_structures)
 Documenting rustc_data_structures v0.0.0 (/home/frank/forks/rust/compiler/rustc_data_structures)
    Checking rustc_arena v0.0.0 (/home/frank/forks/rust/compiler/rustc_arena)
    Checking rustc_type_ir v0.0.0 (/home/frank/forks/rust/compiler/rustc_type_ir)
 Documenting rustc_arena v0.0.0 (/home/frank/forks/rust/compiler/rustc_arena)
 Documenting rustc_type_ir v0.0.0 (/home/frank/forks/rust/compiler/rustc_type_ir)
    Checking rustc_span v0.0.0 (/home/frank/forks/rust/compiler/rustc_span)
 Documenting rustc_span v0.0.0 (/home/frank/forks/rust/compiler/rustc_span)
    Checking rustc_ast v0.0.0 (/home/frank/forks/rust/compiler/rustc_ast)
    Checking rustc_target v0.0.0 (/home/frank/forks/rust/compiler/rustc_target)
    Checking rustc_feature v0.0.0 (/home/frank/forks/rust/compiler/rustc_feature)
    Checking rustc_parse_format v0.0.0 (/home/frank/forks/rust/compiler/rustc_parse_format)
 Documenting rustc_feature v0.0.0 (/home/frank/forks/rust/compiler/rustc_feature)
 Documenting rustc_target v0.0.0 (/home/frank/forks/rust/compiler/rustc_target)
 Documenting rustc_ast v0.0.0 (/home/frank/forks/rust/compiler/rustc_ast)
 Documenting rustc_parse_format v0.0.0 (/home/frank/forks/rust/compiler/rustc_parse_format)
    Checking tracing-serde v0.1.2
    Checking gsgdt v0.1.2
    Checking rls-span v0.5.3
    Checking rls-data v0.19.1
    Checking tracing-subscriber v0.2.16
    Checking tracing-tree v0.1.9
    Checking chalk-solve v0.55.0
    Checking rustc_lint_defs v0.0.0 (/home/frank/forks/rust/compiler/rustc_lint_defs)
    Checking rustc_ast_pretty v0.0.0 (/home/frank/forks/rust/compiler/rustc_ast_pretty)
    Checking rustc_hir v0.0.0 (/home/frank/forks/rust/compiler/rustc_hir)
 Documenting rustc_hir v0.0.0 (/home/frank/forks/rust/compiler/rustc_hir)
 Documenting rustc_ast_pretty v0.0.0 (/home/frank/forks/rust/compiler/rustc_ast_pretty)
 Documenting rustc_lint_defs v0.0.0 (/home/frank/forks/rust/compiler/rustc_lint_defs)
 Documenting rustc_llvm v0.0.0 (/home/frank/forks/rust/compiler/rustc_llvm)
    Checking rustc_errors v0.0.0 (/home/frank/forks/rust/compiler/rustc_errors)
 Documenting rustc_errors v0.0.0 (/home/frank/forks/rust/compiler/rustc_errors)
    Checking chalk-engine v0.55.0
    Checking rustc_session v0.0.0 (/home/frank/forks/rust/compiler/rustc_session)
 Documenting rustc_session v0.0.0 (/home/frank/forks/rust/compiler/rustc_session)
    Checking rustc_hir_pretty v0.0.0 (/home/frank/forks/rust/compiler/rustc_hir_pretty)
 Documenting rustc_hir_pretty v0.0.0 (/home/frank/forks/rust/compiler/rustc_hir_pretty)
    Checking rustc_attr v0.0.0 (/home/frank/forks/rust/compiler/rustc_attr)
    Checking rustc_query_system v0.0.0 (/home/frank/forks/rust/compiler/rustc_query_system)
    Checking rustc_parse v0.0.0 (/home/frank/forks/rust/compiler/rustc_parse)
    Checking rustc_ast_lowering v0.0.0 (/home/frank/forks/rust/compiler/rustc_ast_lowering)
 Documenting rustc_parse v0.0.0 (/home/frank/forks/rust/compiler/rustc_parse)
 Documenting rustc_ast_lowering v0.0.0 (/home/frank/forks/rust/compiler/rustc_ast_lowering)
 Documenting rustc_attr v0.0.0 (/home/frank/forks/rust/compiler/rustc_attr)
 Documenting rustc_query_system v0.0.0 (/home/frank/forks/rust/compiler/rustc_query_system)
    Checking rustc_middle v0.0.0 (/home/frank/forks/rust/compiler/rustc_middle)
 Documenting rustc_middle v0.0.0 (/home/frank/forks/rust/compiler/rustc_middle)
    Checking rustc_ast_passes v0.0.0 (/home/frank/forks/rust/compiler/rustc_ast_passes)
 Documenting rustc_ast_passes v0.0.0 (/home/frank/forks/rust/compiler/rustc_ast_passes)
    Checking rustc_expand v0.0.0 (/home/frank/forks/rust/compiler/rustc_expand)
 Documenting rustc_expand v0.0.0 (/home/frank/forks/rust/compiler/rustc_expand)
    Checking rustc_builtin_macros v0.0.0 (/home/frank/forks/rust/compiler/rustc_builtin_macros)
 Documenting rustc_builtin_macros v0.0.0 (/home/frank/forks/rust/compiler/rustc_builtin_macros)
    Checking rustc_infer v0.0.0 (/home/frank/forks/rust/compiler/rustc_infer)
    Checking rustc_metadata v0.0.0 (/home/frank/forks/rust/compiler/rustc_metadata)
    Checking rustc_incremental v0.0.0 (/home/frank/forks/rust/compiler/rustc_incremental)
    Checking rustc_symbol_mangling v0.0.0 (/home/frank/forks/rust/compiler/rustc_symbol_mangling)
    Checking rustc_query_impl v0.0.0 (/home/frank/forks/rust/compiler/rustc_query_impl)
    Checking rustc_passes v0.0.0 (/home/frank/forks/rust/compiler/rustc_passes)
    Checking rustc_save_analysis v0.0.0 (/home/frank/forks/rust/compiler/rustc_save_analysis)
 Documenting rustc_save_analysis v0.0.0 (/home/frank/forks/rust/compiler/rustc_save_analysis)
 Documenting rustc_infer v0.0.0 (/home/frank/forks/rust/compiler/rustc_infer)
 Documenting rustc_symbol_mangling v0.0.0 (/home/frank/forks/rust/compiler/rustc_symbol_mangling)
 Documenting rustc_incremental v0.0.0 (/home/frank/forks/rust/compiler/rustc_incremental)
 Documenting rustc_query_impl v0.0.0 (/home/frank/forks/rust/compiler/rustc_query_impl)
 Documenting rustc_passes v0.0.0 (/home/frank/forks/rust/compiler/rustc_passes)
 Documenting rustc_metadata v0.0.0 (/home/frank/forks/rust/compiler/rustc_metadata)
    Checking rustc_codegen_ssa v0.0.0 (/home/frank/forks/rust/compiler/rustc_codegen_ssa)
 Documenting rustc_codegen_ssa v0.0.0 (/home/frank/forks/rust/compiler/rustc_codegen_ssa)
    Checking rustc_resolve v0.0.0 (/home/frank/forks/rust/compiler/rustc_resolve)
 Documenting rustc_resolve v0.0.0 (/home/frank/forks/rust/compiler/rustc_resolve)
    Checking rustc_trait_selection v0.0.0 (/home/frank/forks/rust/compiler/rustc_trait_selection)
 Documenting rustc_trait_selection v0.0.0 (/home/frank/forks/rust/compiler/rustc_trait_selection)
    Checking rustc_codegen_llvm v0.0.0 (/home/frank/forks/rust/compiler/rustc_codegen_llvm)
 Documenting rustc_codegen_llvm v0.0.0 (/home/frank/forks/rust/compiler/rustc_codegen_llvm)
    Checking rustc_lint v0.0.0 (/home/frank/forks/rust/compiler/rustc_lint)
    Checking rustc_ty_utils v0.0.0 (/home/frank/forks/rust/compiler/rustc_ty_utils)
    Checking rustc_traits v0.0.0 (/home/frank/forks/rust/compiler/rustc_traits)
    Checking rustc_mir_build v0.0.0 (/home/frank/forks/rust/compiler/rustc_mir_build)
 Documenting rustc_ty_utils v0.0.0 (/home/frank/forks/rust/compiler/rustc_ty_utils)
 Documenting rustc_lint v0.0.0 (/home/frank/forks/rust/compiler/rustc_lint)
 Documenting rustc_traits v0.0.0 (/home/frank/forks/rust/compiler/rustc_traits)
 Documenting rustc_mir_build v0.0.0 (/home/frank/forks/rust/compiler/rustc_mir_build)
    Checking rustc_mir v0.0.0 (/home/frank/forks/rust/compiler/rustc_mir)
 Documenting rustc_mir v0.0.0 (/home/frank/forks/rust/compiler/rustc_mir)
    Checking rustc_typeck v0.0.0 (/home/frank/forks/rust/compiler/rustc_typeck)
    Checking rustc_plugin_impl v0.0.0 (/home/frank/forks/rust/compiler/rustc_plugin_impl)
 Documenting rustc_plugin_impl v0.0.0 (/home/frank/forks/rust/compiler/rustc_plugin_impl)
 Documenting rustc_typeck v0.0.0 (/home/frank/forks/rust/compiler/rustc_typeck)
    Checking rustc_privacy v0.0.0 (/home/frank/forks/rust/compiler/rustc_privacy)
 Documenting rustc_privacy v0.0.0 (/home/frank/forks/rust/compiler/rustc_privacy)
    Checking rustc_interface v0.0.0 (/home/frank/forks/rust/compiler/rustc_interface)
 Documenting rustc_interface v0.0.0 (/home/frank/forks/rust/compiler/rustc_interface)
 Documenting rustc_driver v0.0.0 (/home/frank/forks/rust/compiler/rustc_driver)
    Finished release [optimized] target(s) in 3m 20s
Build completed successfully in 0:23:02
 ~/forks/rust   faster-doc  touch compiler/rustc_middle/src/lib.rs 
 ~/forks/rust   faster-doc  x doc compiler/rustc --stage 1 --keep-stage 0
Updating only changed submodules
Submodules updated in 0.01 seconds
    Finished dev [unoptimized + debuginfo] target(s) in 0.32s
Documenting stage1 compiler (x86_64-unknown-linux-gnu)
Warning: Using a potentially old libstd. This may not behave well.
Copying stage0 std from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Warning: Using a potentially old librustc. This may not behave well.
Warning: Use `--keep-stage-std` if you want to rebuild the compiler when it changes
Copying stage0 rustc from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Assembling stage1 compiler (x86_64-unknown-linux-gnu)
Building stage1 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
    Finished release [optimized] target(s) in 0.16s
Copying stage1 std from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Building rustdoc for stage1 (x86_64-unknown-linux-gnu)
    Finished release [optimized] target(s) in 0.23s
    Checking rustc_middle v0.0.0 (/home/frank/forks/rust/compiler/rustc_middle)
 Documenting rustc_middle v0.0.0 (/home/frank/forks/rust/compiler/rustc_middle)
    Checking rustc_infer v0.0.0 (/home/frank/forks/rust/compiler/rustc_infer)
    Checking rustc_metadata v0.0.0 (/home/frank/forks/rust/compiler/rustc_metadata)
    Checking rustc_incremental v0.0.0 (/home/frank/forks/rust/compiler/rustc_incremental)
    Checking rustc_symbol_mangling v0.0.0 (/home/frank/forks/rust/compiler/rustc_symbol_mangling)
    Checking rustc_query_impl v0.0.0 (/home/frank/forks/rust/compiler/rustc_query_impl)
    Checking rustc_passes v0.0.0 (/home/frank/forks/rust/compiler/rustc_passes)
    Checking rustc_save_analysis v0.0.0 (/home/frank/forks/rust/compiler/rustc_save_analysis)
 Documenting rustc_passes v0.0.0 (/home/frank/forks/rust/compiler/rustc_passes)
 Documenting rustc_infer v0.0.0 (/home/frank/forks/rust/compiler/rustc_infer)
 Documenting rustc_symbol_mangling v0.0.0 (/home/frank/forks/rust/compiler/rustc_symbol_mangling)
 Documenting rustc_query_impl v0.0.0 (/home/frank/forks/rust/compiler/rustc_query_impl)
 Documenting rustc_save_analysis v0.0.0 (/home/frank/forks/rust/compiler/rustc_save_analysis)
 Documenting rustc_incremental v0.0.0 (/home/frank/forks/rust/compiler/rustc_incremental)
 Documenting rustc_metadata v0.0.0 (/home/frank/forks/rust/compiler/rustc_metadata)
    Checking rustc_codegen_ssa v0.0.0 (/home/frank/forks/rust/compiler/rustc_codegen_ssa)
 Documenting rustc_codegen_ssa v0.0.0 (/home/frank/forks/rust/compiler/rustc_codegen_ssa)
    Checking rustc_resolve v0.0.0 (/home/frank/forks/rust/compiler/rustc_resolve)
 Documenting rustc_resolve v0.0.0 (/home/frank/forks/rust/compiler/rustc_resolve)
    Checking rustc_trait_selection v0.0.0 (/home/frank/forks/rust/compiler/rustc_trait_selection)
 Documenting rustc_trait_selection v0.0.0 (/home/frank/forks/rust/compiler/rustc_trait_selection)
    Checking rustc_codegen_llvm v0.0.0 (/home/frank/forks/rust/compiler/rustc_codegen_llvm)
 Documenting rustc_codegen_llvm v0.0.0 (/home/frank/forks/rust/compiler/rustc_codegen_llvm)
    Checking rustc_lint v0.0.0 (/home/frank/forks/rust/compiler/rustc_lint)
    Checking rustc_ty_utils v0.0.0 (/home/frank/forks/rust/compiler/rustc_ty_utils)
    Checking rustc_traits v0.0.0 (/home/frank/forks/rust/compiler/rustc_traits)
    Checking rustc_mir_build v0.0.0 (/home/frank/forks/rust/compiler/rustc_mir_build)
 Documenting rustc_ty_utils v0.0.0 (/home/frank/forks/rust/compiler/rustc_ty_utils)
 Documenting rustc_lint v0.0.0 (/home/frank/forks/rust/compiler/rustc_lint)
 Documenting rustc_traits v0.0.0 (/home/frank/forks/rust/compiler/rustc_traits)
 Documenting rustc_mir_build v0.0.0 (/home/frank/forks/rust/compiler/rustc_mir_build)
    Checking rustc_mir v0.0.0 (/home/frank/forks/rust/compiler/rustc_mir)
 Documenting rustc_mir v0.0.0 (/home/frank/forks/rust/compiler/rustc_mir)
    Checking rustc_typeck v0.0.0 (/home/frank/forks/rust/compiler/rustc_typeck)
    Checking rustc_plugin_impl v0.0.0 (/home/frank/forks/rust/compiler/rustc_plugin_impl)
 Documenting rustc_plugin_impl v0.0.0 (/home/frank/forks/rust/compiler/rustc_plugin_impl)
 Documenting rustc_typeck v0.0.0 (/home/frank/forks/rust/compiler/rustc_typeck)
    Checking rustc_privacy v0.0.0 (/home/frank/forks/rust/compiler/rustc_privacy)
 Documenting rustc_privacy v0.0.0 (/home/frank/forks/rust/compiler/rustc_privacy)
    Checking rustc_interface v0.0.0 (/home/frank/forks/rust/compiler/rustc_interface)
 Documenting rustc_interface v0.0.0 (/home/frank/forks/rust/compiler/rustc_interface)
 Documenting rustc_driver v0.0.0 (/home/frank/forks/rust/compiler/rustc_driver)
    Finished release [optimized] target(s) in 47.68s
Build completed successfully in 0:00:50

Actually, wait… why does doc compiler/rustc_middle, too, document everything up to rustc_driver?

 ~/forks/rust   faster-doc  touch compiler/rustc_middle/src/lib.rs
 ~/forks/rust   faster-doc  x doc compiler/rustc_middle --stage 1 --keep-stage 0
Updating only changed submodules
Submodules updated in 0.01 seconds
    Finished dev [unoptimized + debuginfo] target(s) in 0.21s
Documenting stage1 compiler (x86_64-unknown-linux-gnu)
Warning: Using a potentially old libstd. This may not behave well.
Copying stage0 std from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Warning: Using a potentially old librustc. This may not behave well.
Warning: Use `--keep-stage-std` if you want to rebuild the compiler when it changes
Copying stage0 rustc from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Assembling stage1 compiler (x86_64-unknown-linux-gnu)
Building stage1 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
    Finished release [optimized] target(s) in 0.18s
Copying stage1 std from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Building rustdoc for stage1 (x86_64-unknown-linux-gnu)
    Finished release [optimized] target(s) in 0.21s
    Checking rustc_middle v0.0.0 (/home/frank/forks/rust/compiler/rustc_middle)
 Documenting rustc_middle v0.0.0 (/home/frank/forks/rust/compiler/rustc_middle)
    Checking rustc_infer v0.0.0 (/home/frank/forks/rust/compiler/rustc_infer)
    Checking rustc_metadata v0.0.0 (/home/frank/forks/rust/compiler/rustc_metadata)
    Checking rustc_symbol_mangling v0.0.0 (/home/frank/forks/rust/compiler/rustc_symbol_mangling)
    Checking rustc_incremental v0.0.0 (/home/frank/forks/rust/compiler/rustc_incremental)
    Checking rustc_query_impl v0.0.0 (/home/frank/forks/rust/compiler/rustc_query_impl)
    Checking rustc_passes v0.0.0 (/home/frank/forks/rust/compiler/rustc_passes)
    Checking rustc_save_analysis v0.0.0 (/home/frank/forks/rust/compiler/rustc_save_analysis)
 Documenting rustc_symbol_mangling v0.0.0 (/home/frank/forks/rust/compiler/rustc_symbol_mangling)
 Documenting rustc_passes v0.0.0 (/home/frank/forks/rust/compiler/rustc_passes)
 Documenting rustc_incremental v0.0.0 (/home/frank/forks/rust/compiler/rustc_incremental)
 Documenting rustc_metadata v0.0.0 (/home/frank/forks/rust/compiler/rustc_metadata)
 Documenting rustc_query_impl v0.0.0 (/home/frank/forks/rust/compiler/rustc_query_impl)
 Documenting rustc_infer v0.0.0 (/home/frank/forks/rust/compiler/rustc_infer)
 Documenting rustc_save_analysis v0.0.0 (/home/frank/forks/rust/compiler/rustc_save_analysis)
    Checking rustc_codegen_ssa v0.0.0 (/home/frank/forks/rust/compiler/rustc_codegen_ssa)
 Documenting rustc_codegen_ssa v0.0.0 (/home/frank/forks/rust/compiler/rustc_codegen_ssa)
    Checking rustc_resolve v0.0.0 (/home/frank/forks/rust/compiler/rustc_resolve)
 Documenting rustc_resolve v0.0.0 (/home/frank/forks/rust/compiler/rustc_resolve)
    Checking rustc_trait_selection v0.0.0 (/home/frank/forks/rust/compiler/rustc_trait_selection)
 Documenting rustc_trait_selection v0.0.0 (/home/frank/forks/rust/compiler/rustc_trait_selection)
    Checking rustc_codegen_llvm v0.0.0 (/home/frank/forks/rust/compiler/rustc_codegen_llvm)
 Documenting rustc_codegen_llvm v0.0.0 (/home/frank/forks/rust/compiler/rustc_codegen_llvm)
    Checking rustc_lint v0.0.0 (/home/frank/forks/rust/compiler/rustc_lint)
    Checking rustc_ty_utils v0.0.0 (/home/frank/forks/rust/compiler/rustc_ty_utils)
    Checking rustc_traits v0.0.0 (/home/frank/forks/rust/compiler/rustc_traits)
    Checking rustc_mir_build v0.0.0 (/home/frank/forks/rust/compiler/rustc_mir_build)
 Documenting rustc_mir_build v0.0.0 (/home/frank/forks/rust/compiler/rustc_mir_build)
 Documenting rustc_lint v0.0.0 (/home/frank/forks/rust/compiler/rustc_lint)
 Documenting rustc_traits v0.0.0 (/home/frank/forks/rust/compiler/rustc_traits)
 Documenting rustc_ty_utils v0.0.0 (/home/frank/forks/rust/compiler/rustc_ty_utils)
    Checking rustc_mir v0.0.0 (/home/frank/forks/rust/compiler/rustc_mir)
 Documenting rustc_mir v0.0.0 (/home/frank/forks/rust/compiler/rustc_mir)
    Checking rustc_typeck v0.0.0 (/home/frank/forks/rust/compiler/rustc_typeck)
    Checking rustc_plugin_impl v0.0.0 (/home/frank/forks/rust/compiler/rustc_plugin_impl)
 Documenting rustc_typeck v0.0.0 (/home/frank/forks/rust/compiler/rustc_typeck)
 Documenting rustc_plugin_impl v0.0.0 (/home/frank/forks/rust/compiler/rustc_plugin_impl)
    Checking rustc_privacy v0.0.0 (/home/frank/forks/rust/compiler/rustc_privacy)
 Documenting rustc_privacy v0.0.0 (/home/frank/forks/rust/compiler/rustc_privacy)
    Checking rustc_interface v0.0.0 (/home/frank/forks/rust/compiler/rustc_interface)
 Documenting rustc_interface v0.0.0 (/home/frank/forks/rust/compiler/rustc_interface)
 Documenting rustc_driver v0.0.0 (/home/frank/forks/rust/compiler/rustc_driver)
    Finished release [optimized] target(s) in 42.48s
Build completed successfully in 0:00:44

@jyn514
Copy link
Member Author

jyn514 commented Sep 5, 2021

Actually, wait… why does doc compiler/rustc_middle, too, document everything up to rustc_driver?

@steffahn #44293

@bjorn3
Copy link
Member

bjorn3 commented Sep 5, 2021

Actually, wait… why does doc compiler/rustc_middle, too, document everything up to rustc_driver?

That is for all build kinds. The path only determines which build step to perform. In this case doc::Rustc. No build step looks at the path and passes -p to cargo.

@steffahn
Copy link
Member

steffahn commented Sep 5, 2021

Alright, looks like – if anything – a potential an issue independent of this PR then.

Edit: Hadn't seen the other answer linking #44293. Anyway, “independent” stands.

@Mark-Simulacrum
Copy link
Member

Seems safe enough (will either work or not, hopefully).

@bors r+

@bors
Copy link
Contributor

bors commented Sep 7, 2021

📌 Commit 04db063 has been approved by Mark-Simulacrum

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 7, 2021
@jyn514 jyn514 changed the title Don't build the library and standard library before documenting them Don't build the compiler and standard library before documenting them Sep 10, 2021
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Sep 11, 2021
Don't build the compiler and standard library before documenting them

Rustdoc doesn't require the build artifacts to generate the docs, and
especially in the case of rustc, it greatly increases the time needed to
run the build.

r? `@Mark-Simulacrum` cc `@steffahn`
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Sep 11, 2021
Don't build the compiler and standard library before documenting them

Rustdoc doesn't require the build artifacts to generate the docs, and
especially in the case of rustc, it greatly increases the time needed to
run the build.

r? ``@Mark-Simulacrum`` cc ``@steffahn``
Manishearth added a commit to Manishearth/rust that referenced this pull request Sep 12, 2021
Don't build the compiler and standard library before documenting them

Rustdoc doesn't require the build artifacts to generate the docs, and
especially in the case of rustc, it greatly increases the time needed to
run the build.

r? ```@Mark-Simulacrum``` cc ```@steffahn```
@Manishearth
Copy link
Member

@bors r-

#88874 (comment)

I think that's this one

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 12, 2021
@jyn514
Copy link
Member Author

jyn514 commented Sep 12, 2021

@Manishearth yup, it was this one - should be fixed now.

@jyn514 jyn514 added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Sep 12, 2021
camelid added a commit to camelid/rust that referenced this pull request Oct 12, 2021
Only dylib and rlib candidates were included in the error. I think the
reason is that at the time this error was originally implemented, rmeta
crate sources were represented different from dylib and rlib sources.
I wrote up more detailed analysis in [this comment][1].

The new version of the code is also a bit easier to read and should be
more robust to future changes since it uses `CrateSources::paths()`.

[1]: rust-lang#88675 (comment)
bors added a commit to rust-lang-ci/rust that referenced this pull request Oct 13, 2021
Include rmeta candidates in "multiple matching crates" error

Only dylib and rlib candidates were included in the error. I think the
reason is that at the time this error was originally implemented, rmeta
crate sources were represented different from dylib and rlib sources.
I wrote up more detailed analysis in [this comment][1].

The new version of the code is also a bit easier to read and should be
more robust to future changes since it uses `CrateSources::paths()`.

I also changed the code to sort the candidates to make the output deterministic;
added full stderr tests for the error; and added a long error code explanation.

[1]: rust-lang#88675 (comment)

cc `@Mark-Simulacrum` `@jyn514`
@camelid
Copy link
Member

camelid commented Oct 13, 2021

@bors retry

Now that #89587 has landed, we should get a better error. 🎉

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Oct 13, 2021
@camelid
Copy link
Member

camelid commented Oct 13, 2021

@bors r=Mark-Simulacrum rollup=never

@bors
Copy link
Contributor

bors commented Oct 13, 2021

📌 Commit 29a6be5 has been approved by Mark-Simulacrum

@bors
Copy link
Contributor

bors commented Oct 13, 2021

⌛ Testing commit 29a6be5 with merge eb9edf5dc596d7951e8537d38e2019d540545905...

@bors
Copy link
Contributor

bors commented Oct 13, 2021

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Oct 13, 2021
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
    Checking rustc_parse v0.0.0 (/checkout/compiler/rustc_parse)
[RUSTC-TIMING] rustc_feature test:true 0.577
    Checking rustc_query_system v0.0.0 (/checkout/compiler/rustc_query_system)
[RUSTC-TIMING] rustc_lint_defs test:true 0.366
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
    Checking rustc_middle v0.0.0 (/checkout/compiler/rustc_middle)
    Checking rustc_middle v0.0.0 (/checkout/compiler/rustc_middle)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
[RUSTC-TIMING] rustc_ast_passes test:false 1.118
    Checking rustc_ast_passes v0.0.0 (/checkout/compiler/rustc_ast_passes)
    Checking rustc_ast_passes v0.0.0 (/checkout/compiler/rustc_ast_passes)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
[RUSTC-TIMING] rustc_infer test:false 4.813
[RUSTC-TIMING] rustc_mir_dataflow test:false 1.806
[RUSTC-TIMING] rustc_incremental test:false 1.007
[RUSTC-TIMING] rustc_symbol_mangling test:false 0.490
[RUSTC-TIMING] rustc_symbol_mangling test:false 0.490
[RUSTC-TIMING] rustc_passes test:false 1.985
[RUSTC-TIMING] rustc_query_impl test:false 8.536
[RUSTC-TIMING] rustc_monomorphize test:false 1.031
[RUSTC-TIMING] rustc_save_analysis test:false 0.857
    Checking rustc_save_analysis v0.0.0 (/checkout/compiler/rustc_save_analysis)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
    Checking rustc_monomorphize v0.0.0 (/checkout/compiler/rustc_monomorphize)
    Checking rustc_monomorphize v0.0.0 (/checkout/compiler/rustc_monomorphize)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
    Checking rustc_infer v0.0.0 (/checkout/compiler/rustc_infer)
[RUSTC-TIMING] rustc_serialize test:true 1.512
[RUSTC-TIMING] lib test:true 0.055
    Checking rustc_incremental v0.0.0 (/checkout/compiler/rustc_incremental)
    Checking rustc_incremental v0.0.0 (/checkout/compiler/rustc_incremental)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
    Checking rustc_symbol_mangling v0.0.0 (/checkout/compiler/rustc_symbol_mangling)
[RUSTC-TIMING] rustc_query_system test:true 1.147
    Checking rustc_passes v0.0.0 (/checkout/compiler/rustc_passes)
[RUSTC-TIMING] rustc_save_analysis test:true 0.869
[RUSTC-TIMING] rustc_save_analysis test:true 0.869
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
    Checking rustc_query_impl v0.0.0 (/checkout/compiler/rustc_query_impl)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
    Checking rustc_mir_dataflow v0.0.0 (/checkout/compiler/rustc_mir_dataflow)
[RUSTC-TIMING] rustc_monomorphize test:true 1.016
[RUSTC-TIMING] rustc_expand test:false 1.610
    Checking rustc_expand v0.0.0 (/checkout/compiler/rustc_expand)
    Checking rustc_expand v0.0.0 (/checkout/compiler/rustc_expand)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
[RUSTC-TIMING] rustc_trait_selection test:false 6.389
    Checking rustc_trait_selection v0.0.0 (/checkout/compiler/rustc_trait_selection)
[RUSTC-TIMING] rustc_symbol_mangling test:true 0.492
[RUSTC-TIMING] rustc_metadata test:false 2.894
---
[RUSTC-TIMING] rustc_const_eval test:false 4.549
[RUSTC-TIMING] rustc_traits test:false 0.909
[RUSTC-TIMING] rustc_mir_build test:false 3.374
    Checking rustc_traits v0.0.0 (/checkout/compiler/rustc_traits)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
    Checking rustc_const_eval v0.0.0 (/checkout/compiler/rustc_const_eval)
    Checking rustc_const_eval v0.0.0 (/checkout/compiler/rustc_const_eval)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
    Checking rustc_mir_build v0.0.0 (/checkout/compiler/rustc_mir_build)
    Checking rustc_mir_build v0.0.0 (/checkout/compiler/rustc_mir_build)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
    Checking rustc_ty_utils v0.0.0 (/checkout/compiler/rustc_ty_utils)
[RUSTC-TIMING] rustc_traits test:true 0.912
    Checking rustc_lint v0.0.0 (/checkout/compiler/rustc_lint)
    Checking rustc_lint v0.0.0 (/checkout/compiler/rustc_lint)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
[RUSTC-TIMING] rustc_codegen_ssa test:false 4.205
[RUSTC-TIMING] rustc_resolve test:false 3.996
    Checking rustc_resolve v0.0.0 (/checkout/compiler/rustc_resolve)
    Checking rustc_resolve v0.0.0 (/checkout/compiler/rustc_resolve)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
    Checking rustc_codegen_ssa v0.0.0 (/checkout/compiler/rustc_codegen_ssa)
[RUSTC-TIMING] rustc_mir_dataflow test:true 1.865
[RUSTC-TIMING] rustc_plugin_impl test:false 0.124
    Checking rustc_plugin_impl v0.0.0 (/checkout/compiler/rustc_plugin_impl)
    Checking rustc_plugin_impl v0.0.0 (/checkout/compiler/rustc_plugin_impl)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
[RUSTC-TIMING] rustc_typeck test:false 12.199
    Checking rustc_typeck v0.0.0 (/checkout/compiler/rustc_typeck)
[RUSTC-TIMING] rustc_plugin_impl test:true 0.131
[RUSTC-TIMING] rustc_mir_transform test:false 4.277
[RUSTC-TIMING] rustc_mir_transform test:false 4.277
    Checking rustc_mir_transform v0.0.0 (/checkout/compiler/rustc_mir_transform)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
[RUSTC-TIMING] rustc_borrowck test:false 6.426
    Checking rustc_borrowck v0.0.0 (/checkout/compiler/rustc_borrowck)
    Checking rustc_borrowck v0.0.0 (/checkout/compiler/rustc_borrowck)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
[RUSTC-TIMING] rustc_codegen_llvm test:false 4.012
    Checking rustc_codegen_llvm v0.0.0 (/checkout/compiler/rustc_codegen_llvm)
    Checking rustc_codegen_llvm v0.0.0 (/checkout/compiler/rustc_codegen_llvm)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
[RUSTC-TIMING] rustc_privacy test:false 0.448
    Checking rustc_privacy v0.0.0 (/checkout/compiler/rustc_privacy)
    Checking rustc_privacy v0.0.0 (/checkout/compiler/rustc_privacy)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
[RUSTC-TIMING] rustc_interface test:false 0.980
    Checking rustc_interface v0.0.0 (/checkout/compiler/rustc_interface)
[RUSTC-TIMING] rustc_metadata test:true 2.975
    Checking rustc_driver v0.0.0 (/checkout/compiler/rustc_driver)
    Checking rustc_driver v0.0.0 (/checkout/compiler/rustc_driver)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
[RUSTC-TIMING] rustc_privacy test:true 0.495
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
[RUSTC-TIMING] rustc_driver test:false 0.734
    Checking rustc-main v0.0.0 (/checkout/compiler/rustc)
    Checking rustc-main v0.0.0 (/checkout/compiler/rustc)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-rustc/release/deps/librustc_macros-f12a1fec9a59bd08.rmeta'
[RUSTC-TIMING] rustc_main test:true 0.080
[RUSTC-TIMING] rustc_lint test:true 2.905
[RUSTC-TIMING] rustc_driver test:true 0.735
[RUSTC-TIMING] rustc_mir_build test:true 3.457
---
    Checking tera v1.10.0
[RUSTC-TIMING] rustdoc_json_types test:false 2.410
[RUSTC-TIMING] tera test:false 2.746
 Documenting rustdoc v0.0.0 (/checkout/src/librustdoc)
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_ast_pretty-ff4280f1a577a638.rmeta'
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_ast_lowering-438b82c2004ee296.rmeta'
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_ast-239eb49497895a56.rmeta'
WARN rustc_metadata::locator no metadata found: failed to mmap rmeta metadata: '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_ast_passes-237bda65d1ea4300.rmeta'
error[E0464]: multiple matching crates for `rustc_ast`
   |
33 | extern crate rustc_ast;
   | ^^^^^^^^^^^^^^^^^^^^^^^
   |
   |
   = note: candidates:
           crate `rustc_ast`: /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_ast-8109ffe332df89fe.rlib
           crate `rustc_ast`: /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_ast-d96e7fd089ee3ac7.rmeta
For more information about this error, try `rustc --explain E0464`.
error: could not document `rustdoc`

Caused by:
Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustdoc --edition=2021 --crate-type lib --crate-name rustdoc src/librustdoc/lib.rs --target x86_64-unknown-linux-gnu -o /checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/doc --error-format=json --json=diagnostic-rendered-ansi -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps --extern arrayvec=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libarrayvec-02737ca76872100c.rmeta --extern itertools=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libitertools-552c06e488a65ec3.rmeta --extern minifier=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libminifier-fcc47bb647d4948f.rmeta --extern pulldown_cmark=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libpulldown_cmark-68c54b52559e6345.rmeta --extern regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libregex-5de72b11b37ce240.rmeta --extern rayon=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/librustc_rayon-cab834c9034bd97d.rmeta --extern rustdoc_json_types=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/librustdoc_json_types-9342d1d2aa8c2730.rmeta --extern serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libserde-58f36f9ee832c85b.rmeta --extern serde_json=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libserde_json-6acaae1d9f062164.rmeta --extern smallvec=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libsmallvec-2929866ed62d63b8.rmeta --extern tempfile=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libtempfile-0d225277b6fd0173.rmeta --extern tera=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libtera-a62b398e7e41fcb0.rmeta --extern tracing=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libtracing-4c3b9c9da3b3b7a9.rmeta --extern tracing_subscriber=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libtracing_subscriber-03965148879b1c90.rmeta --extern tracing_tree=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libtracing_tree-044862bb6429883d.rmeta -Dwarnings '-Wrustdoc::invalid_codeblock_attributes' --crate-version '1.57.0-nightly
  (eb9edf5dc
  2021-10-13)' --document-private-items --enable-index-page --show-type-layout --generate-link-to-definition -Zunstable-options` (exit status: 1)


command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "doc" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "16" "--release" "--locked" "--color" "always" "--manifest-path" "/checkout/src/tools/rustdoc/Cargo.toml" "-Zskip-rustdoc-fingerprint" "--no-deps" "-p" "rustdoc" "-p" "rustdoc-json-types"


Build completed unsuccessfully in 0:33:19

@Mark-Simulacrum Mark-Simulacrum added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 14, 2021
@camelid
Copy link
Member

camelid commented Oct 14, 2021

Here's the new error:

error[E0464]: multiple matching crates for `rustc_ast`
  --> src/librustdoc/lib.rs:33:1
   |
33 | extern crate rustc_ast;
   | ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: candidates:
           crate `rustc_ast`: /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_ast-8109ffe332df89fe.rlib
           crate `rustc_ast`: /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_ast-d96e7fd089ee3ac7.rmeta

So it looks like the rmeta and rlib sources of rustc_ast are potentially different versions of rustc_ast? Note that this error occurs while documenting rustdoc itself.

Also, is it expected that rustc_metadata::locator is printing WARN log messages for not-found files? Is that explicitly enabled in CI or something?

@apiraino apiraino added the T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. label Oct 14, 2021
@jyn514
Copy link
Member Author

jyn514 commented Oct 20, 2021

I don't know how to fix this, sorry.

@jyn514
Copy link
Member Author

jyn514 commented Oct 20, 2021

If someone wants to pick this up, the first step would be to find a way to reproduce the CI failure locally, it's not clear to me how x.py is being invoked.

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 16, 2022
Only check the compiler and standard library before documenting them (take 2)

Trying rust-lang#88675 again.
@jyn514
Copy link
Member Author

jyn514 commented Apr 16, 2022

Finally got this working in #95450 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-contributor-roadblock Area: Makes things more difficult for new contributors to rust itself S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants