The Internal Compiler Error that the comment mentions [1] was fixed in Rust 1.87.0 [2]. And, for other workarounds, we plan on limiting where we apply them [3].
Thus limit the ICE one too. This will help to make sure the workaround is not needed anymore on newer versions. Link: https://github.com/rust-lang/rust/issues/138520 [1] Link: https://github.com/rust-lang/rust/pull/138556 [2] Link: https://lore.kernel.org/rust-for-linux/[email protected]/ [3] Signed-off-by: Miguel Ojeda <[email protected]> --- rust/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rust/Makefile b/rust/Makefile index 708530ee3613..163d2258e93f 100644 --- a/rust/Makefile +++ b/rust/Makefile @@ -145,10 +145,12 @@ doctests_modifiers_workaround := $(rustdoc_modifiers_workaround)$(if $(call rust # `rustdoc` ICEs on out-of-tree builds in Rust < 1.87.0 # (https://github.com/rust-lang/rust/issues/138520). Thus workaround the # issue skipping the flag. +rustdoc_remap_workaround := $(if $(call rustc-min-version,108700),,--remap-path-prefix=%) + quiet_cmd_rustdoc = RUSTDOC $(if $(rustdoc_host),H, ) $< cmd_rustdoc = \ OBJTREE=$(abspath $(objtree)) \ - $(RUSTDOC) $(filter-out $(skip_flags) --remap-path-prefix=%,$(if $(rustdoc_host),$(rust_common_flags),$(rust_flags))) \ + $(RUSTDOC) $(filter-out $(skip_flags) $(rustdoc_remap_workaround),$(if $(rustdoc_host),$(rust_common_flags),$(rust_flags))) \ $(rustc_target_flags) -L$(objtree)/$(obj) \ -Zunstable-options --generate-link-to-definition \ --output $(rustdoc_output) \ -- 2.53.0
