Skip to content

Linkchecker tool reports a huge number of broken links #91794

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

Closed
petrochenkov opened this issue Dec 11, 2021 · 6 comments
Closed

Linkchecker tool reports a huge number of broken links #91794

petrochenkov opened this issue Dec 11, 2021 · 6 comments
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc C-bug Category: This is a bug. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

Comments

@petrochenkov
Copy link
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.

@petrochenkov petrochenkov added A-testsuite Area: The testsuite used to check the correctness of rustc T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Dec 11, 2021
@petrochenkov
Copy link
Contributor Author

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

@petrochenkov petrochenkov added the A-intra-doc-links Area: Intra-doc links, the ability to link to items in docs by name label Dec 11, 2021
@jyn514
Copy link
Member

jyn514 commented Dec 11, 2021

@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.

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

ehuss commented Dec 11, 2021

@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
Copy link
Contributor Author

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
Copy link
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
Copy link
Contributor Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc C-bug Category: This is a bug. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

No branches or pull requests

4 participants