Code
Unfortunately, I haven't been able to make a minimal enough example that I'm able to share it. As soon as I disable more than a few crates from our 26-crate workspace, the error disappears. But the error doesn't seem to be caused by one particular crate. Perhaps there's a race condition somewhere.
Reproduction Steps
$ cargo clean
$ cargo doc --lib --bins --document-private-items --no-deps -v
Expected Outcome
As it does in Rust 1.90, the documentation should build successfully.
Actual Output
In Rust 1.91 and nightly, we get the following error
error: couldn't generate documentation: failed to read column from disk: data consumer error: invalid type: null, expected type data at line 1 column 4
|
= note: failed to create or modify "/home/tom.fryers/Documents/RoofScan/target/doc/search.index/type/": failed to read column from disk: data consumer error: invalid type: null, expected type data at line 1 column 4
error: could not document `roof-scan-outputs`
Caused by:
process didn't exit successfully: `/home/tom.fryers/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustdoc --edition=2024 --crate-type bin --crate-name roof_scan_outputs roof-scan-outputs/src/main.rs -o /home/tom.fryers/Documents/RoofScan/target/doc --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=189 -C metadata=008339708dcc1598 -L dependency=/home/tom.fryers/Documents/RoofScan/target/debug/deps --extern anyhow=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libanyhow-43f604131c3deeb1.rmeta --extern geometry=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libgeometry-e41688c6b10180bc.rmeta --extern image_formats=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libimage_formats-152134f144eec2e6.rmeta --extern itertools=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libitertools-1506c49be038510b.rmeta --extern ndarray=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libndarray-71260cca80a8dd7d.rmeta --extern ndarray_ref=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libndarray_ref-067f7da2c123772a.rmeta --extern roof_scan=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libroof_scan-f34847f14222ffa9.rmeta --extern svg=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libsvg-748dacaae780ef9e.rmeta --extern tiff=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libtiff-baf0150f618f86e8.rmeta --document-private-items '-Arustdoc::private-intra-doc-links' --crate-version 0.1.0` (exit status: 1)
warning: build failed, waiting for other jobs to finish...
error: could not document `land-registry`
Caused by:
process didn't exit successfully: `/home/tom.fryers/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustdoc --edition=2024 --crate-type lib --crate-name land_registry land-registry/src/lib.rs -o /home/tom.fryers/Documents/RoofScan/target/doc --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=189 -C metadata=b73d6a859571e856 -L dependency=/home/tom.fryers/Documents/RoofScan/target/debug/deps --extern bng=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libbng-d051a7d49fc0fefa.rmeta --extern geog=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libgeog-efff9649d43ec793.rmeta --extern itertools=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libitertools-1506c49be038510b.rmeta --extern thiserror=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libthiserror-025dc7ab1f8be558.rmeta --document-private-items --crate-version 0.1.0` (exit status: 1)
error: could not document `easy-pv-formats`
Caused by:
process didn't exit successfully: `/home/tom.fryers/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustdoc --edition=2024 --crate-type lib --crate-name easy_pv_formats easy-pv-formats/src/lib.rs -o /home/tom.fryers/Documents/RoofScan/target/doc --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=189 -C metadata=1183a0536eaea95e -L dependency=/home/tom.fryers/Documents/RoofScan/target/debug/deps --extern geometry=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libgeometry-e41688c6b10180bc.rmeta --extern more_itertools=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libmore_itertools-03833fe072e8477e.rmeta --extern ordered_float=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libordered_float-2271b971b6606687.rmeta --extern roof_scan=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libroof_scan-f34847f14222ffa9.rmeta --extern serde=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libserde-d4aa019a4fdd5da6.rmeta --extern spacelines=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libspacelines-9950595a3cecec29.rmeta --document-private-items --crate-version 0.1.0` (exit status: 1)
error: could not document `roof-scan`
Caused by:
process didn't exit successfully: `/home/tom.fryers/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustdoc --edition=2024 --crate-type bin --crate-name bench roof-scan/src/bin/bench.rs -o /home/tom.fryers/Documents/RoofScan/target/doc --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=189 -C metadata=7811f9570c7c40de -L dependency=/home/tom.fryers/Documents/RoofScan/target/debug/deps --extern arrayvec=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libarrayvec-c522d04ba0d149d2.rmeta --extern enum_dispatch=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libenum_dispatch-797e46689284c252.so --extern geometry=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libgeometry-e41688c6b10180bc.rmeta --extern geotiff=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libgeotiff-f4b4f23df7e768fc.rmeta --extern graph=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libgraph-d8ac2406d4a9f31d.rmeta --extern itertools=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libitertools-1506c49be038510b.rmeta --extern more_itertools=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libmore_itertools-03833fe072e8477e.rmeta --extern ndarray=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libndarray-71260cca80a8dd7d.rmeta --extern ndarray_ref=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libndarray_ref-067f7da2c123772a.rmeta --extern nonmax=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libnonmax-7b8f70987e1b2fed.rmeta --extern num_traits=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libnum_traits-05c940bc0b327bd7.rmeta --extern obstructions=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libobstructions-74acae3a5fb001e9.rmeta --extern ordered_float=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libordered_float-2271b971b6606687.rmeta --extern palette=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libpalette-9b1e68ffb918f14e.rmeta --extern pga=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libpga-d0bae3dafacd5cfc.rmeta --extern roof_scan=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libroof_scan-f34847f14222ffa9.rmeta --extern spacelines=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libspacelines-9950595a3cecec29.rmeta --extern statistics=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libstatistics-c44025af405fa9f1.rmeta --extern subarray=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libsubarray-a124a14646ec24bf.rmeta --extern thin_vec=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libthin_vec-edd67360050ebd9f.rmeta --extern thiserror=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libthiserror-025dc7ab1f8be558.rmeta --extern tracing=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libtracing-619cfedf92012744.rmeta --extern util=/home/tom.fryers/Documents/RoofScan/target/debug/deps/libutil-8e5baca9d1d64551.rmeta --document-private-items '-Arustdoc::private-intra-doc-links' --crate-version 0.1.0` (exit status: 1)
At the mentioned path:
$ ls target/doc/search.index/type/
5092402c3bd7.js
Version
Happens in both
rustc 1.91.0 (f8297e351 2025-10-28)
binary: rustc
commit-hash: f8297e351a40c1439a467bbbb6879088047f50b3
commit-date: 2025-10-28
host: x86_64-unknown-linux-gnu
release: 1.91.0
LLVM version: 21.1.2
and
rustc 1.93.0-nightly (b15a874aa 2025-11-02)
binary: rustc
commit-hash: b15a874aafe7eab9ea3ac2c1d59c7b03e1425027
commit-date: 2025-11-02
host: x86_64-unknown-linux-gnu
release: 1.93.0-nightly
LLVM version: 21.1.3
but Rust 1.90 was OK.
Code
Unfortunately, I haven't been able to make a minimal enough example that I'm able to share it. As soon as I disable more than a few crates from our 26-crate workspace, the error disappears. But the error doesn't seem to be caused by one particular crate. Perhaps there's a race condition somewhere.
Reproduction Steps
Expected Outcome
As it does in Rust 1.90, the documentation should build successfully.
Actual Output
In Rust 1.91 and nightly, we get the following error
At the mentioned path:
Version
Happens in both
and
but Rust 1.90 was OK.