Skip to content

Linkchecker tool reports a huge number of broken links #91794

Closed
@petrochenkov

Description

@petrochenkov
Contributor

I tried to run

./x.py test --bless --stage 2

and got this output from the linkchecker testing step

Building stage0 tool linkchecker (x86_64-pc-windows-gnu)
    Finished release [optimized + debuginfo] target(s) in 0.34s
book\appendix-03-derivable-traits.html:160: broken link - `std\index.html`
book\borrow-and-asref.html:44: broken link - `std\convert\trait.AsRef.html`
book\borrow-and-asref.html:46: broken link - `std\convert\trait.AsRef.html`
book\casting-between-types.html:50: broken link - `std\mem\fn.transmute.html`
book\ch02-00-guessing-game-tutorial.html:242: broken link - `std\prelude\index.html`
book\ch02-00-guessing-game-tutorial.html:327: broken link - `std\string\struct.String.html`
book\ch02-00-guessing-game-tutorial.html:360: broken link - `std\io\struct.Stdin.html`
book\ch02-00-guessing-game-tutorial.html:362: broken link - `std\io\struct.Stdin.html`
book\ch02-00-guessing-game-tutorial.html:408: broken link - `std\io\type.Result.html`
book\ch02-00-guessing-game-tutorial.html:409: broken link - `std\result\enum.Result.html`
book\ch02-00-guessing-game-tutorial.html:422: broken link - `std\result\enum.Result.html`
book\ch02-00-guessing-game-tutorial.html:889: broken link - `std\primitive.str.html`
book\ch04-01-what-is-ownership.html:352: broken link - `std\ops\trait.Drop.html`
book\ch05-02-example-structs.html:277: broken link - `std\macro.println.html`
book\ch05-02-example-structs.html:369: broken link - `std\macro.dbg.html`
book\ch06-01-defining-an-enum.html:307: broken link - `std\net\enum.IpAddr.html`
book\ch06-01-defining-an-enum.html:438: broken link - `std\option\enum.Option.html`
book\ch06-01-defining-an-enum.html:527: broken link - `std\option\enum.Option.html`
book\ch07-04-bringing-paths-into-scope-with-the-use-keyword.html:500: broken link - `std\prelude\index.html`
book\ch08-00-common-collections.html:163: broken link - `std\collections\index.html`
book\ch08-01-vectors.html:393: broken link - `std\vec\struct.Vec.html`
book\ch09-02-recoverable-errors-with-result.html:181: broken link - `std\index.html`
book\ch09-02-recoverable-errors-with-result.html:696: broken link - `std\process\trait.Termination.html`
book\ch16-03-shared-state.html:366: broken link - `std\sync\atomic\index.html`
book\print.html:884: broken link - `std\prelude\index.html`
book\print.html:969: broken link - `std\string\struct.String.html`
book\print.html:1002: broken link - `std\io\struct.Stdin.html`
book\print.html:1004: broken link - `std\io\struct.Stdin.html`
book\print.html:1050: broken link - `std\io\type.Result.html`
book\print.html:1051: broken link - `std\result\enum.Result.html`
book\print.html:1064: broken link - `std\result\enum.Result.html`
book\print.html:1531: broken link - `std\primitive.str.html`
book\print.html:3426: broken link - `std\ops\trait.Drop.html`
book\print.html:4941: broken link - `std\macro.println.html`
book\print.html:5033: broken link - `std\macro.dbg.html`
book\print.html:5599: broken link - `std\net\enum.IpAddr.html`
book\print.html:5730: broken link - `std\option\enum.Option.html`
book\print.html:5819: broken link - `std\option\enum.Option.html`
book\print.html:7159: broken link - `std\prelude\index.html`
book\print.html:7247: broken link - `std\collections\index.html`
book\print.html:7498: broken link - `std\vec\struct.Vec.html`
book\print.html:8368: broken link - `std\index.html`
book\print.html:8883: broken link - `std\process\trait.Termination.html`
book\print.html:20915: broken link - `std\sync\atomic\index.html`
book\print.html:28777: broken link - `std\index.html`
book\procedural-macros.html:43: broken link - `proc_macro\index.html`
cargo\print.html:1590: broken link - `std\primitive.char.html`
cargo\print.html:2105: broken link - `std\macro.env.html`
cargo\print.html:2399: broken link - `std\macro.cfg.html`
cargo\print.html:2415: broken link - `std\primitive.char.html`
cargo\print.html:2769: broken link - `std\prelude\index.html`
cargo\print.html:2817: broken link - `std\marker\trait.Unsize.html`
cargo\print.html:2903: broken link - `std\macro.debug_assert.html`
cargo\print.html:4218: broken link - `std\macro.env.html`
cargo\print.html:4525: broken link - `std\macro.env.html`
cargo\print.html:4782: broken link - `std\macro.include.html`
cargo\print.html:4783: broken link - `std\macro.concat.html`
cargo\print.html:4783: broken link - `std\macro.env.html`
cargo\print.html:5073: broken link - `std\macro.cfg.html`
cargo\print.html:5843: broken link - `std\primitive.char.html`
cargo\print.html:6326: broken link - `std\any\trait.Any.html`
cargo\print.html:6875: broken link - `std\default\trait.Default.html`
cargo\print.html:6907: broken link - `std\default\trait.Default.html`
cargo\reference\build-script-examples.html:245: broken link - `std\macro.include.html`
cargo\reference\build-script-examples.html:246: broken link - `std\macro.concat.html`
cargo\reference\build-script-examples.html:246: broken link - `std\macro.env.html`
cargo\reference\build-script-examples.html:536: broken link - `std\macro.cfg.html`
cargo\reference\build-scripts.html:315: broken link - `std\macro.env.html`
cargo\reference\cargo-targets.html:249: broken link - `std\macro.env.html`
cargo\reference\environment-variables.html:299: broken link - `std\macro.env.html`
cargo\reference\features-examples.html:185: broken link - `std\prelude\index.html`
cargo\reference\features-examples.html:233: broken link - `std\marker\trait.Unsize.html`
cargo\reference\features.html:181: broken link - `std\macro.cfg.html`
cargo\reference\features.html:197: broken link - `std\primitive.char.html`
cargo\reference\manifest.html:226: broken link - `std\primitive.char.html`
cargo\reference\profiles.html:220: broken link - `std\macro.debug_assert.html`
cargo\reference\registries.html:314: broken link - `std\primitive.char.html`
cargo\reference\resolver.html:252: broken link - `std\any\trait.Any.html`
cargo\reference\semver.html:392: broken link - `std\default\trait.Default.html`
cargo\reference\semver.html:424: broken link - `std\default\trait.Default.html`
complement-design-faq.html:9: broken link - `rustdoc1.59.0.css`
complement-lang-faq.html:9: broken link - `rustdoc1.59.0.css`
complement-project-faq.html:9: broken link - `rustdoc1.59.0.css`
edition-guide\print.html:527: broken link - `std\index.html`
edition-guide\print.html:529: broken link - `core\index.html`
edition-guide\print.html:533: broken link - `proc_macro\index.html`
edition-guide\print.html:537: broken link - `alloc\index.html`
edition-guide\print.html:540: broken link - `test\index.html`
edition-guide\rust-2018\data-types\operator-equals-are-now-implementable.html:7: broken link - `std\ops\index.html`
edition-guide\rust-2018\data-types\operator-equals-are-now-implementable.html:10: broken link - `std\ops\index.html`
edition-guide\rust-2018\documentation\std-os-has-documentation-for-all-platforms.html:7: broken link - `std\os\index.html`
edition-guide\rust-2018\documentation\std-os-has-documentation-for-all-platforms.html:10: broken link - `std\os\index.html`
edition-guide\rust-2018\path-changes.html:210: broken link - `std\index.html`
edition-guide\rust-2018\path-changes.html:212: broken link - `core\index.html`
edition-guide\rust-2018\path-changes.html:216: broken link - `proc_macro\index.html`
edition-guide\rust-2018\path-changes.html:220: broken link - `alloc\index.html`
edition-guide\rust-2018\path-changes.html:223: broken link - `test\index.html`
edition-guide\rust-2018\platform-and-target-support\libcore-for-low-level-rust.html:7: broken link - `core\index.html`
edition-guide\rust-2018\platform-and-target-support\libcore-for-low-level-rust.html:10: broken link - `core\index.html`
edition-guide\rust-next\dbg-macro.html:7: broken link - `std\macro.dbg.html`
edition-guide\rust-next\dbg-macro.html:10: broken link - `std\macro.dbg.html`
edition-guide\rust-next\future.html:7: broken link - `std\future\trait.Future.html`
edition-guide\rust-next\future.html:10: broken link - `std\future\trait.Future.html`
edition-guide\rust-next\pin.html:7: broken link - `std\pin\index.html`
edition-guide\rust-next\pin.html:10: broken link - `std\pin\index.html`
error-index.html:7: broken link - `rustdoc1.59.0.css`
error-index.html:8: broken link - `light1.59.0.css`
grammar.html:9: broken link - `rustdoc1.59.0.css`
guide-crates.html:9: broken link - `rustdoc1.59.0.css`
guide-error-handling.html:9: broken link - `rustdoc1.59.0.css`
guide-ffi.html:9: broken link - `rustdoc1.59.0.css`
guide-macros.html:9: broken link - `rustdoc1.59.0.css`
guide-ownership.html:9: broken link - `rustdoc1.59.0.css`
guide-plugins.html:9: broken link - `rustdoc1.59.0.css`
guide-pointers.html:9: broken link - `rustdoc1.59.0.css`
guide-strings.html:9: broken link - `rustdoc1.59.0.css`
guide-tasks.html:9: broken link - `rustdoc1.59.0.css`
guide-testing.html:9: broken link - `rustdoc1.59.0.css`
guide-unsafe.html:9: broken link - `rustdoc1.59.0.css`
guide.html:9: broken link - `rustdoc1.59.0.css`
index.html:9: broken link - `rustdoc1.59.0.css`
index.html:84: broken link - `std\index.html`
intro.html:9: broken link - `rustdoc1.59.0.css`
nomicon\dot-operator.html:180: broken link - `std\ops\trait.Index.html`
nomicon\dot-operator.html:242: broken link - `std\clone\trait.Clone.html`
nomicon\dropck.html:432: broken link - `std\mem\struct.ManuallyDrop.html`
nomicon\exotic-sizes.html:158: broken link - `std\primitive.slice.html`
nomicon\exotic-sizes.html:158: broken link - `std\primitive.str.html`
nomicon\exotic-sizes.html:237: broken link - `std\alloc\trait.GlobalAlloc.html`
nomicon\ffi.html:347: broken link - `std\ops\trait.Drop.html`
nomicon\ffi.html:737: broken link - `std\panic\fn.catch_unwind.html`
nomicon\ffi.html:753: broken link - `std\panic\fn.catch_unwind.html`
nomicon\ffi.html:754: broken link - `std\panic\fn.catch_unwind.html`
nomicon\other-reprs.html:208: broken link - `std\cell\struct.UnsafeCell.html`
nomicon\panic-handler.html:147: broken link - `core\panic\struct.PanicInfo.html`
nomicon\print.html:247: broken link - `std\primitive.slice.html`
nomicon\print.html:249: broken link - `std\marker\trait.Send.html`
nomicon\print.html:253: broken link - `std\primitive.slice.html`
nomicon\print.html:255: broken link - `std\mem\fn.transmute.html`
nomicon\print.html:257: broken link - `std\primitive.pointer.html`
nomicon\print.html:258: broken link - `std\primitive.pointer.html`
nomicon\print.html:266: broken link - `std\marker\trait.Send.html`
nomicon\print.html:268: broken link - `std\marker\trait.Sync.html`
nomicon\print.html:270: broken link - `std\alloc\trait.GlobalAlloc.html`
nomicon\print.html:282: broken link - `std\cmp\trait.PartialOrd.html`
nomicon\print.html:282: broken link - `std\cmp\trait.Ord.html`
nomicon\print.html:285: broken link - `std\collections\struct.BTreeMap.html`
nomicon\print.html:401: broken link - `std\ptr\struct.NonNull.html`
nomicon\print.html:728: broken link - `std\primitive.slice.html`
nomicon\print.html:728: broken link - `std\primitive.str.html`
nomicon\print.html:807: broken link - `std\alloc\trait.GlobalAlloc.html`
nomicon\print.html:931: broken link - `std\cell\struct.UnsafeCell.html`
nomicon\print.html:2410: broken link - `std\mem\struct.ManuallyDrop.html`
nomicon\print.html:2896: broken link - `std\ops\trait.Index.html`
nomicon\print.html:2958: broken link - `std\clone\trait.Clone.html`
nomicon\print.html:2998: broken link - `std\mem\fn.transmute.html`
nomicon\print.html:3039: broken link - `std\mem\fn.transmute_copy.html`
nomicon\print.html:3243: broken link - `core\mem\union.MaybeUninit.html`
nomicon\print.html:3287: broken link - `core\mem\union.MaybeUninit.html`
nomicon\print.html:3324: broken link - `core\ptr\index.html`
nomicon\print.html:3326: broken link - `core\ptr\fn.write.html`
nomicon\print.html:3326: broken link - `std\ptr\fn.copy.html`
nomicon\print.html:3326: broken link - `std\ptr\fn.copy_nonoverlapping.html`
nomicon\print.html:4655: broken link - `std\ptr\struct.NonNull.html`
nomicon\print.html:4709: broken link - `alloc\alloc\fn.alloc.html`
nomicon\print.html:4709: broken link - `alloc\alloc\fn.realloc.html`
nomicon\print.html:4710: broken link - `alloc\alloc\fn.dealloc.html`
nomicon\print.html:4711: broken link - `alloc\alloc\index.html`
nomicon\print.html:4712: broken link - `std\alloc\struct.Global.html`
nomicon\print.html:4714: broken link - `alloc\alloc\fn.handle_alloc_error.html`
nomicon\print.html:6635: broken link - `std\ops\trait.Drop.html`
nomicon\print.html:7025: broken link - `std\panic\fn.catch_unwind.html`
nomicon\print.html:7041: broken link - `std\panic\fn.catch_unwind.html`
nomicon\print.html:7042: broken link - `std\panic\fn.catch_unwind.html`
nomicon\print.html:7117: broken link - `core\panic\struct.PanicInfo.html`
nomicon\safe-unsafe-meaning.html:165: broken link - `std\primitive.slice.html`
nomicon\safe-unsafe-meaning.html:167: broken link - `std\marker\trait.Send.html`
nomicon\safe-unsafe-meaning.html:171: broken link - `std\primitive.slice.html`
nomicon\safe-unsafe-meaning.html:173: broken link - `std\mem\fn.transmute.html`
nomicon\safe-unsafe-meaning.html:175: broken link - `std\primitive.pointer.html`
nomicon\safe-unsafe-meaning.html:176: broken link - `std\primitive.pointer.html`
nomicon\safe-unsafe-meaning.html:184: broken link - `std\marker\trait.Send.html`
nomicon\safe-unsafe-meaning.html:186: broken link - `std\marker\trait.Sync.html`
nomicon\safe-unsafe-meaning.html:188: broken link - `std\alloc\trait.GlobalAlloc.html`
nomicon\safe-unsafe-meaning.html:200: broken link - `std\cmp\trait.PartialOrd.html`
nomicon\safe-unsafe-meaning.html:200: broken link - `std\cmp\trait.Ord.html`
nomicon\safe-unsafe-meaning.html:203: broken link - `std\collections\struct.BTreeMap.html`
nomicon\transmutes.html:150: broken link - `std\mem\fn.transmute.html`
nomicon\transmutes.html:191: broken link - `std\mem\fn.transmute_copy.html`
nomicon\unchecked-uninit.html:152: broken link - `core\mem\union.MaybeUninit.html`
nomicon\unchecked-uninit.html:196: broken link - `core\mem\union.MaybeUninit.html`
nomicon\unchecked-uninit.html:233: broken link - `core\ptr\index.html`
nomicon\unchecked-uninit.html:235: broken link - `core\ptr\fn.write.html`
nomicon\unchecked-uninit.html:235: broken link - `std\ptr\fn.copy.html`
nomicon\unchecked-uninit.html:235: broken link - `std\ptr\fn.copy_nonoverlapping.html`
nomicon\vec\vec-alloc.html:179: broken link - `alloc\alloc\fn.alloc.html`
nomicon\vec\vec-alloc.html:179: broken link - `alloc\alloc\fn.realloc.html`
nomicon\vec\vec-alloc.html:180: broken link - `alloc\alloc\fn.dealloc.html`
nomicon\vec\vec-alloc.html:181: broken link - `alloc\alloc\index.html`
nomicon\vec\vec-alloc.html:182: broken link - `std\alloc\struct.Global.html`
nomicon\vec\vec-alloc.html:184: broken link - `alloc\alloc\fn.handle_alloc_error.html`
nomicon\vec\vec-layout.html:174: broken link - `std\ptr\struct.NonNull.html`
nomicon\what-unsafe-does.html:186: broken link - `std\ptr\struct.NonNull.html`
reference\attributes\codegen.html:245: broken link - `std\macro.is_x86_feature_detected.html`
reference\attributes\codegen.html:263: broken link - `core\panic\struct.Location.html`
reference\attributes\codegen.html:266: broken link - `core\panic\struct.Location.html`
reference\attributes\codegen.html:277: broken link - `core\panic\struct.Location.html`
reference\attributes\codegen.html:278: broken link - `core\intrinsics\fn.caller_location.html`
reference\attributes\derive.html:149: broken link - `std\cmp\trait.PartialEq.html`
reference\attributes\derive.html:149: broken link - `std\clone\trait.Clone.html`
reference\attributes\testing.html:162: broken link - `std\process\trait.Termination.html`
reference\behavior-considered-undefined.html:168: broken link - `std\cell\struct.UnsafeCell.html`
reference\behavior-considered-undefined.html:171: broken link - `std\cell\struct.UnsafeCell.html`
reference\behavior-considered-undefined.html:215: broken link - `core\ptr\struct.NonNull.html`
reference\behavior-considered-undefined.html:215: broken link - `core\num\index.html`
reference\conditional-compilation.html:315: broken link - `std\macro.debug_assert.html`
reference\crates-and-source-files.html:245: broken link - `std\process\trait.Termination.html`
reference\crates-and-source-files.html:262: broken link - `std\primitive.char.html`
reference\destructors.html:152: broken link - `std\ops\trait.Drop.html`
reference\destructors.html:168: broken link - `std\ptr\fn.drop_in_place.html`
reference\destructors.html:480: broken link - `std\mem\struct.ManuallyDrop.html`
reference\expressions\array-expr.html:218: broken link - `std\ops\trait.Index.html`
reference\expressions\array-expr.html:218: broken link - `std\ops\trait.IndexMut.html`
reference\expressions\await-expr.html:151: broken link - `std\future\trait.Future.html`
reference\expressions\await-expr.html:155: broken link - `std\future\trait.Future.html`
reference\expressions\await-expr.html:156: broken link - `std\pin\struct.Pin.html`
reference\expressions\await-expr.html:157: broken link - `std\future\trait.Future.html`
reference\expressions\await-expr.html:158: broken link - `std\task\enum.Poll.html`
reference\expressions\await-expr.html:159: broken link - `std\task\enum.Poll.html`
reference\expressions\await-expr.html:159: broken link - `std\task\enum.Poll.html`
reference\expressions\await-expr.html:165: broken link - `std\task\struct.Context.html`
reference\expressions\block-expr.html:225: broken link - `std\ops\trait.Fn.html`
reference\expressions\block-expr.html:225: broken link - `std\future\trait.Future.html`
reference\expressions\call-expr.html:155: broken link - `std\ops\trait.Fn.html`
reference\expressions\call-expr.html:155: broken link - `std\ops\trait.FnMut.html`
reference\expressions\call-expr.html:155: broken link - `std\ops\trait.FnOnce.html`
reference\expressions\call-expr.html:180: broken link - `std\default\trait.Default.html`
reference\expressions\call-expr.html:180: broken link - `std\mem\fn.size_of.html`
reference\expressions.html:318: broken link - `std\boxed\struct.Box.html`
reference\index.html:160: broken link - `std\index.html`
reference\index.html:168: broken link - `std\index.html`
reference\interior-mutability.html:150: broken link - `std\cell\struct.UnsafeCell.html`
reference\interior-mutability.html:157: broken link - `std\cell\struct.RefCell.html`
reference\interior-mutability.html:159: broken link - `std\sync\atomic\index.html`
reference\introduction.html:160: broken link - `std\index.html`
reference\introduction.html:168: broken link - `std\index.html`
reference\items\enumerations.html:200: broken link - `std\mem\fn.discriminant.html`
reference\items\unions.html:199: broken link - `std\mem\fn.transmute.html`
reference\items\unions.html:213: broken link - `std\marker\trait.Copy.html`
reference\items\unions.html:213: broken link - `std\mem\struct.ManuallyDrop.html`
reference\items\unions.html:232: broken link - `std\marker\trait.Copy.html`
reference\items\unions.html:233: broken link - `std\mem\struct.ManuallyDrop.html`
reference\names\preludes.html:149: broken link - `std\boxed\struct.Box.html`
reference\names\preludes.html:160: broken link - `std\prelude\index.html`
reference\names\preludes.html:162: broken link - `core\prelude\index.html`
reference\names\preludes.html:167: broken link - `core\index.html`
reference\names\preludes.html:167: broken link - `std\index.html`
reference\names\preludes.html:177: broken link - `alloc\index.html`
reference\names\preludes.html:178: broken link - `test\index.html`
reference\names\preludes.html:197: broken link - `std\index.html`
reference\names\preludes.html:199: broken link - `core\index.html`
reference\names\preludes.html:199: broken link - `std\index.html`
reference\names\preludes.html:201: broken link - `std\prelude\index.html`
reference\names\preludes.html:203: broken link - `std\index.html`
reference\names\preludes.html:206: broken link - `core\prelude\index.html`
reference\names\preludes.html:207: broken link - `std\prelude\index.html`
reference\names\preludes.html:208: broken link - `core\index.html`
reference\names\preludes.html:208: broken link - `std\index.html`
reference\print.html:161: broken link - `std\index.html`
reference\print.html:169: broken link - `std\index.html`
reference\print.html:1697: broken link - `std\macro.compile_error.html`
reference\print.html:1700: broken link - `proc_macro\index.html`
reference\print.html:1702: broken link - `proc_macro\struct.TokenStream.html`
reference\print.html:1727: broken link - `proc_macro\struct.TokenStream.html`
reference\print.html:1728: broken link - `proc_macro\struct.TokenStream.html`
reference\print.html:1762: broken link - `proc_macro\struct.TokenStream.html`
reference\print.html:1763: broken link - `proc_macro\struct.TokenStream.html`
reference\print.html:1765: broken link - `proc_macro\struct.TokenStream.html`
reference\print.html:1822: broken link - `proc_macro\struct.TokenStream.html`
reference\print.html:1825: broken link - `proc_macro\struct.TokenStream.html`
reference\print.html:1825: broken link - `proc_macro\struct.TokenStream.html`
reference\print.html:1826: broken link - `proc_macro\struct.TokenStream.html`
reference\print.html:1840: broken link - `proc_macro\struct.TokenStream.html`
reference\print.html:1986: broken link - `std\process\trait.Termination.html`
reference\print.html:2003: broken link - `std\primitive.char.html`
reference\print.html:2199: broken link - `std\macro.debug_assert.html`
reference\print.html:3245: broken link - `std\mem\fn.discriminant.html`
reference\print.html:3412: broken link - `std\mem\fn.transmute.html`
reference\print.html:3426: broken link - `std\marker\trait.Copy.html`
reference\print.html:3426: broken link - `std\mem\struct.ManuallyDrop.html`
reference\print.html:3445: broken link - `std\marker\trait.Copy.html`
reference\print.html:3446: broken link - `std\mem\struct.ManuallyDrop.html`
reference\print.html:5346: broken link - `std\process\trait.Termination.html`
reference\print.html:5415: broken link - `std\cmp\trait.PartialEq.html`
reference\print.html:5415: broken link - `std\clone\trait.Clone.html`
reference\print.html:5854: broken link - `std\macro.is_x86_feature_detected.html`
reference\print.html:5872: broken link - `core\panic\struct.Location.html`
reference\print.html:5875: broken link - `core\panic\struct.Location.html`
reference\print.html:5886: broken link - `core\panic\struct.Location.html`
reference\print.html:5887: broken link - `core\intrinsics\fn.caller_location.html`
reference\print.html:6436: broken link - `std\boxed\struct.Box.html`
reference\print.html:6655: broken link - `std\ops\trait.Fn.html`
reference\print.html:6655: broken link - `std\future\trait.Future.html`
reference\print.html:7344: broken link - `std\ops\trait.Index.html`
reference\print.html:7344: broken link - `std\ops\trait.IndexMut.html`
reference\print.html:7528: broken link - `std\ops\trait.Fn.html`
reference\print.html:7528: broken link - `std\ops\trait.FnMut.html`
reference\print.html:7528: broken link - `std\ops\trait.FnOnce.html`
reference\print.html:7553: broken link - `std\default\trait.Default.html`
reference\print.html:7553: broken link - `std\mem\fn.size_of.html`
reference\print.html:8364: broken link - `std\future\trait.Future.html`
reference\print.html:8368: broken link - `std\future\trait.Future.html`
reference\print.html:8369: broken link - `std\pin\struct.Pin.html`
reference\print.html:8370: broken link - `std\future\trait.Future.html`
reference\print.html:8371: broken link - `std\task\enum.Poll.html`
reference\print.html:8372: broken link - `std\task\enum.Poll.html`
reference\print.html:8372: broken link - `std\task\enum.Poll.html`
reference\print.html:8378: broken link - `std\task\struct.Context.html`
reference\print.html:9407: broken link - `std\primitive.bool.html`
reference\print.html:9585: broken link - `std\vec\struct.Vec.html`
reference\print.html:9658: broken link - `std\mem\struct.ManuallyDrop.html`
reference\print.html:9706: broken link - `std\ops\trait.Fn.html`
reference\print.html:9706: broken link - `std\ops\trait.FnMut.html`
reference\print.html:9706: broken link - `std\ops\trait.FnOnce.html`
reference\print.html:9814: broken link - `std\ops\trait.FnOnce.html`
reference\print.html:9820: broken link - `std\ops\trait.FnMut.html`
reference\print.html:9824: broken link - `std\ops\trait.Fn.html`
reference\print.html:9828: broken link - `std\ops\trait.Fn.html`
reference\print.html:9828: broken link - `std\ops\trait.FnMut.html`
reference\print.html:9908: broken link - `core\ptr\macro.addr_of.html`
reference\print.html:9908: broken link - `core\ptr\macro.addr_of_mut.html`
reference\print.html:10224: broken link - `std\mem\fn.align_of_val.html`
reference\print.html:10228: broken link - `std\mem\fn.size_of_val.html`
reference\print.html:10230: broken link - `std\marker\trait.Sized.html`
reference\print.html:10231: broken link - `std\mem\fn.size_of.html`
reference\print.html:10231: broken link - `std\mem\fn.align_of.html`
reference\print.html:10231: broken link - `std\marker\trait.Sized.html`
reference\print.html:10404: broken link - `std\alloc\struct.Layout.html`
reference\print.html:10706: broken link - `std\cell\struct.UnsafeCell.html`
reference\print.html:10713: broken link - `std\cell\struct.RefCell.html`
reference\print.html:10715: broken link - `std\sync\atomic\index.html`
reference\print.html:11126: broken link - `std\marker\trait.Unsize.html`
reference\print.html:11126: broken link - `std\ops\trait.CoerceUnsized.html`
reference\print.html:11240: broken link - `std\ops\trait.Drop.html`
reference\print.html:11256: broken link - `std\ptr\fn.drop_in_place.html`
reference\print.html:11568: broken link - `std\mem\struct.ManuallyDrop.html`
reference\print.html:11780: broken link - `std\index.html`
reference\print.html:11784: broken link - `std\boxed\struct.Box.html`
reference\print.html:11795: broken link - `std\rc\struct.Rc.html`
reference\print.html:11797: broken link - `std\sync\struct.Arc.html`
reference\print.html:11799: broken link - `std\pin\struct.Pin.html`
reference\print.html:11801: broken link - `std\cell\struct.UnsafeCell.html`
reference\print.html:11806: broken link - `std\marker\struct.PhantomData.html`
reference\print.html:11810: broken link - `std\ops\index.html`
reference\print.html:11810: broken link - `std\cmp\index.html`
reference\print.html:11813: broken link - `std\ops\trait.Deref.html`
reference\print.html:11813: broken link - `std\ops\trait.DerefMut.html`
reference\print.html:11816: broken link - `std\ops\trait.Drop.html`
reference\print.html:11819: broken link - `std\marker\trait.Copy.html`
reference\print.html:11832: broken link - `std\clone\trait.Clone.html`
reference\print.html:11840: broken link - `std\marker\trait.Send.html`
reference\print.html:11843: broken link - `std\marker\trait.Sync.html`
reference\print.html:11847: broken link - `std\marker\trait.Send.html`
reference\print.html:11847: broken link - `std\marker\trait.Sync.html`
reference\print.html:11847: broken link - `std\marker\trait.Unpin.html`
reference\print.html:11847: broken link - `std\panic\trait.UnwindSafe.html`
reference\print.html:11847: broken link - `std\panic\trait.RefUnwindSafe.html`
reference\print.html:11876: broken link - `std\marker\trait.Sized.html`
reference\print.html:12095: broken link - `std\boxed\struct.Box.html`
reference\print.html:12106: broken link - `std\prelude\index.html`
reference\print.html:12108: broken link - `core\prelude\index.html`
reference\print.html:12113: broken link - `core\index.html`
reference\print.html:12113: broken link - `std\index.html`
reference\print.html:12123: broken link - `alloc\index.html`
reference\print.html:12124: broken link - `test\index.html`
reference\print.html:12143: broken link - `std\index.html`
reference\print.html:12145: broken link - `core\index.html`
reference\print.html:12145: broken link - `std\index.html`
reference\print.html:12147: broken link - `std\prelude\index.html`
reference\print.html:12149: broken link - `std\index.html`
reference\print.html:12152: broken link - `core\prelude\index.html`
reference\print.html:12153: broken link - `std\prelude\index.html`
reference\print.html:12154: broken link - `core\index.html`
reference\print.html:12154: broken link - `std\index.html`
reference\print.html:13082: broken link - `std\cell\struct.UnsafeCell.html`
reference\print.html:13085: broken link - `std\cell\struct.UnsafeCell.html`
reference\print.html:13129: broken link - `core\ptr\struct.NonNull.html`
reference\print.html:13129: broken link - `core\num\index.html`
reference\print.html:13395: broken link - `core\panic\struct.PanicInfo.html`
reference\print.html:13432: broken link - `std\panic\fn.set_hook.html`
reference\print.html:13435: broken link - `alloc\alloc\trait.GlobalAlloc.html`
reference\procedural-macros.html:174: broken link - `std\macro.compile_error.html`
reference\procedural-macros.html:177: broken link - `proc_macro\index.html`
reference\procedural-macros.html:179: broken link - `proc_macro\struct.TokenStream.html`
reference\procedural-macros.html:204: broken link - `proc_macro\struct.TokenStream.html`
reference\procedural-macros.html:205: broken link - `proc_macro\struct.TokenStream.html`
reference\procedural-macros.html:239: broken link - `proc_macro\struct.TokenStream.html`
reference\procedural-macros.html:240: broken link - `proc_macro\struct.TokenStream.html`
reference\procedural-macros.html:242: broken link - `proc_macro\struct.TokenStream.html`
reference\procedural-macros.html:299: broken link - `proc_macro\struct.TokenStream.html`
reference\procedural-macros.html:302: broken link - `proc_macro\struct.TokenStream.html`
reference\procedural-macros.html:302: broken link - `proc_macro\struct.TokenStream.html`
reference\procedural-macros.html:303: broken link - `proc_macro\struct.TokenStream.html`
reference\procedural-macros.html:317: broken link - `proc_macro\struct.TokenStream.html`
reference\runtime.html:149: broken link - `core\panic\struct.PanicInfo.html`
reference\runtime.html:186: broken link - `std\panic\fn.set_hook.html`
reference\runtime.html:189: broken link - `alloc\alloc\trait.GlobalAlloc.html`
reference\special-types-and-traits.html:145: broken link - `std\index.html`
reference\special-types-and-traits.html:149: broken link - `std\boxed\struct.Box.html`
reference\special-types-and-traits.html:160: broken link - `std\rc\struct.Rc.html`
reference\special-types-and-traits.html:162: broken link - `std\sync\struct.Arc.html`
reference\special-types-and-traits.html:164: broken link - `std\pin\struct.Pin.html`
reference\special-types-and-traits.html:166: broken link - `std\cell\struct.UnsafeCell.html`
reference\special-types-and-traits.html:171: broken link - `std\marker\struct.PhantomData.html`
reference\special-types-and-traits.html:175: broken link - `std\ops\index.html`
reference\special-types-and-traits.html:175: broken link - `std\cmp\index.html`
reference\special-types-and-traits.html:178: broken link - `std\ops\trait.Deref.html`
reference\special-types-and-traits.html:178: broken link - `std\ops\trait.DerefMut.html`
reference\special-types-and-traits.html:181: broken link - `std\ops\trait.Drop.html`
reference\special-types-and-traits.html:184: broken link - `std\marker\trait.Copy.html`
reference\special-types-and-traits.html:197: broken link - `std\clone\trait.Clone.html`
reference\special-types-and-traits.html:205: broken link - `std\marker\trait.Send.html`
reference\special-types-and-traits.html:208: broken link - `std\marker\trait.Sync.html`
reference\special-types-and-traits.html:212: broken link - `std\marker\trait.Send.html`
reference\special-types-and-traits.html:212: broken link - `std\marker\trait.Sync.html`
reference\special-types-and-traits.html:212: broken link - `std\marker\trait.Unpin.html`
reference\special-types-and-traits.html:212: broken link - `std\panic\trait.UnwindSafe.html`
reference\special-types-and-traits.html:212: broken link - `std\panic\trait.RefUnwindSafe.html`
reference\special-types-and-traits.html:241: broken link - `std\marker\trait.Sized.html`
reference\type-coercions.html:317: broken link - `std\marker\trait.Unsize.html`
reference\type-coercions.html:317: broken link - `std\ops\trait.CoerceUnsized.html`
reference\type-layout.html:157: broken link - `std\mem\fn.align_of_val.html`
reference\type-layout.html:161: broken link - `std\mem\fn.size_of_val.html`
reference\type-layout.html:163: broken link - `std\marker\trait.Sized.html`
reference\type-layout.html:164: broken link - `std\mem\fn.size_of.html`
reference\type-layout.html:164: broken link - `std\mem\fn.align_of.html`
reference\type-layout.html:164: broken link - `std\marker\trait.Sized.html`
reference\type-layout.html:337: broken link - `std\alloc\struct.Layout.html`
reference\types\array.html:167: broken link - `std\vec\struct.Vec.html`
reference\types\boolean.html:174: broken link - `std\primitive.bool.html`
reference\types\closure.html:250: broken link - `std\ops\trait.FnOnce.html`
reference\types\closure.html:256: broken link - `std\ops\trait.FnMut.html`
reference\types\closure.html:260: broken link - `std\ops\trait.Fn.html`
reference\types\closure.html:264: broken link - `std\ops\trait.Fn.html`
reference\types\closure.html:264: broken link - `std\ops\trait.FnMut.html`
reference\types\function-item.html:188: broken link - `std\ops\trait.Fn.html`
reference\types\function-item.html:188: broken link - `std\ops\trait.FnMut.html`
reference\types\function-item.html:188: broken link - `std\ops\trait.FnOnce.html`
reference\types\pointer.html:182: broken link - `core\ptr\macro.addr_of.html`
reference\types\pointer.html:182: broken link - `core\ptr\macro.addr_of_mut.html`
reference\types\union.html:151: broken link - `std\mem\struct.ManuallyDrop.html`
reference.html:9: broken link - `rustdoc1.59.0.css`
rust.html:9: broken link - `rustdoc1.59.0.css`
rustc\print.html:6611: broken link - `std\result\index.html`
rustc\print.html:6618: broken link - `test\index.html`
rustc\print.html:6722: broken link - `std\thread\fn.available_parallelism.html`
rustc\tests\index.html:159: broken link - `std\result\index.html`
rustc\tests\index.html:166: broken link - `test\index.html`
rustc\tests\index.html:270: broken link - `std\thread\fn.available_parallelism.html`
rustdoc\linking-to-items-by-name.html:176: broken link - `std\index.html`
rustdoc\print.html:1584: broken link - `std\index.html`
rustdoc.html:9: broken link - `rustdoc1.59.0.css`
tutorial.html:9: broken link - `rustdoc1.59.0.css`
checked links in: 14.3s
number of HTML files scanned: 1679
number of HTML redirects found: 0
number of links checked: 447350
number of links ignored due to external: 7125
number of links ignored due to exceptions: 0
number of intra doc links ignored: 18
errors found: 463
found some broken links


command did not execute successfully: "C:\\msys64\\home\\we\\rust\\build\\x86_64-pc-windows-gnu\\stage0-tools-bin\\linkchecker.exe" "C:\\msys64\\home\\we\\rust\\build\\x86_64-pc-windows-gnu\\doc"
expected success, got: exit code: 1

I've seen the same issue the last time I tried to run full testing, and it may be semi-spurious.
Running ./x.py test --bless --stage 2 for the second time reproduces the issue again, but running x.py test src/tools/linkchecker separately somehow makes it disappear, if I remember correctly.
I didn't try to investigate this further yet, any pointers are appreciated.

Activity

added
A-testsuiteArea: The testsuite used to check the correctness of rustc
T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.
on Dec 11, 2021
petrochenkov

petrochenkov commented on Dec 11, 2021

@petrochenkov
ContributorAuthor

but running x.py test src/tools/linkchecker separately somehow makes it disappear

No luck this time:

./x.py test --bless --stage 2 src/tools/linkchecker
 Documenting alloc v0.0.0 (C:\msys64\home\we\rust\library\alloc)
error: `core::cmp::Ord` is both a trait and a macro
   --> library\alloc\src\collections\binary_heap.rs:254:14
    |
254 | /// [`Ord`]: core::cmp::Ord
    |              ^^^^^^^^^^^^^^ ambiguous link
    |
    = note: `-D rustdoc::broken-intra-doc-links` implied by `-D warnings`
help: to link to the trait, prefix with `trait@`
    |
254 | /// [`Ord`]: trait@core::cmp::Ord
    |              ++++++
help: to link to the macro, add an exclamation mark
    |
254 | /// [`Ord`]: core::cmp::Ord!
    |                            +

error: `core::cmp::Ord` is both a trait and a macro
  --> library\alloc\src\collections\btree\set.rs:30:14
   |
30 | /// [`Ord`]: core::cmp::Ord
   |              ^^^^^^^^^^^^^^ ambiguous link
   |
help: to link to the trait, prefix with `trait@`
   |
30 | /// [`Ord`]: trait@core::cmp::Ord
   |              ++++++
help: to link to the macro, add an exclamation mark
   |
30 | /// [`Ord`]: core::cmp::Ord!
   |                            +

error: `core::cmp::Ord` is both a trait and a macro
    --> library\alloc\src\vec\mod.rs:2802:57
     |
2802 | /// Implements ordering of vectors, [lexicographically](core::cmp::Ord#lexicographical-comparison).
     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous link
     |
help: to link to the trait, prefix with `trait@`
     |
2802 | /// Implements ordering of vectors, [lexicographically](trait@core::cmp::Ord#lexicographical-comparison).
     |                                                         ++++++
help: to link to the macro, add an exclamation mark
     |
2802 | /// Implements ordering of vectors, [lexicographically](core::cmp::Ord#lexicographical-comparison!).
     |                                                                                                  +

error: `core::cmp::Ord` is both a trait and a macro
    --> library\alloc\src\vec\mod.rs:2790:59
     |
2790 | /// Implements comparison of vectors, [lexicographically](core::cmp::Ord#lexicographical-comparison).
     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous link
     |
help: to link to the trait, prefix with `trait@`
     |
2790 | /// Implements comparison of vectors, [lexicographically](trait@core::cmp::Ord#lexicographical-comparison).
     |                                                           ++++++
help: to link to the macro, add an exclamation mark
     |
2790 | /// Implements comparison of vectors, [lexicographically](core::cmp::Ord#lexicographical-comparison!).
     |                                                                                                    +

error: could not document `alloc`

Caused by:
  process didn't exit successfully: `C:\msys64\home\we\rust\build\bootstrap/debug/rustdoc --edition=2018 --crate-type lib --crate-name alloc 'library\alloc\src\lib.rs' --target x86_64-pc-windows-gnu -o 'C:\msys64\home\we\rust\build\x86_64-pc-windows-gnu\stage2-std\x86_64-pc-windows-gnu\doc' --cfg 'feature="compiler-builtins-c"' --error-format=json --json=diagnostic-rendered-ansi --markdown-css rust.css --markdown-no-toc -Z unstable-options --resource-suffix 1.59.0 --index-page 'C:\msys64\home\we\rust\src/doc/index.md' -C metadata=a7226ac55a8e3b93 -L 'dependency=C:\msys64\home\we\rust\build\x86_64-pc-windows-gnu\stage2-std\x86_64-pc-windows-gnu\release\deps' -L 'dependency=C:\msys64\home\we\rust\build\x86_64-pc-windows-gnu\stage2-std\release\deps' --extern 'compiler_builtins=C:\msys64\home\we\rust\build\x86_64-pc-windows-gnu\stage2-std\x86_64-pc-windows-gnu\release\deps\libcompiler_builtins-4ccdf02c8b2f7747.rmeta' --extern 'core=C:\msys64\home\we\rust\build\x86_64-pc-windows-gnu\stage2-std\x86_64-pc-windows-gnu\release\deps\libcore-260e3f3523ff358b.rmeta' -Ctarget-cpu=native -Zsymbol-mangling-version=legacy -Clink-arg=-fuse-ld=lld '-Clink-arg=-Wl,/threads:1' -Dwarnings '-Wrustdoc::invalid_codeblock_attributes' --crate-version 1.59.0-dev '-Zcrate-attr=doc(html_root_url="https://doc.rust-lang.org/nightly/")'` (exit code: 1)


command did not execute successfully: "\\\\?\\C:\\msys64\\home\\we\\rust\\build\\x86_64-pc-windows-gnu\\stage0\\bin\\cargo.exe" "rustdoc" "--target" "x86_64-pc-windows-gnu" "-Zbinary-dep-depinfo" "-j" "8" "--release" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "C:\\msys64\\home\\we\\rust\\library/test/Cargo.toml" "-p" "alloc" "-Zskip-rustdoc-fingerprint" "--" "--markdown-css" "rust.css" "--markdown-no-toc" "-Z" "unstable-options" "--resource-suffix" "1.59.0" "--index-page" "C:\\msys64\\home\\we\\rust\\src/doc/index.md"
expected success, got: exit code: 101
added
A-intra-doc-linksArea: Intra-doc links, the ability to link to items in docs by name
on Dec 11, 2021
jyn514

jyn514 commented on Dec 11, 2021

@jyn514
Member

@petrochenkov that looks like the docs for the standard library haven't been built - if you run x.py doc --stage 2 library/std, does it fix this issue? If so, I think the fix in x.py is to add builder.ensure(doc::Std) before running the linkchecker.

added
T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
C-bugCategory: This is a bug.
and removed
T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.
A-intra-doc-linksArea: Intra-doc links, the ability to link to items in docs by name
on Dec 11, 2021
ehuss

ehuss commented on Dec 11, 2021

@ehuss
Contributor

@jyn514 The linkchecker builds the entire docsuite, which includes std as a default (that is implied by builder.default_doc(&[]);).

@petrochenkov Does this only happen with --bless? Can you share your config.toml? I'm having a hard time reproducing, and trying to come up with ideas on what could be wrong.

petrochenkov

petrochenkov commented on Dec 12, 2021

@petrochenkov
ContributorAuthor

Wait a second, my actual command line was

./x.py test --bless --stage 2 --exclude tidy --exclude library/core

Can --exclude library/core have this effect?
I've excluded it due to a different bug - #91315.
Let me check.

Mark-Simulacrum

Mark-Simulacrum commented on Dec 12, 2021

@Mark-Simulacrum
Member

Yes, that seems likely: it'll make default_doc no longer build library/core (actually not unlikely all of std etc), which'll then cause linkcheck errors.

I'm not sure there's really a fix for this -- maybe we can ignore excludes for the default_doc invocation @ehuss mentions, but that seems potentially not great too.

I guess a recommended fix might be to add linkcheck to the exclude list, for this particular case?

petrochenkov

petrochenkov commented on Dec 12, 2021

@petrochenkov
ContributorAuthor

Yes, --exclude is the reason.
If some target X is excluded, then it's excluded even if something depends on it, and targets depending on X are not excluded automatically if X is excluded.

1 remaining item

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-testsuiteArea: The testsuite used to check the correctness of rustcC-bugCategory: This is a bug.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @ehuss@Mark-Simulacrum@petrochenkov@jyn514

        Issue actions

          Linkchecker tool reports a huge number of broken links · Issue #91794 · rust-lang/rust