Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[WIP] Add cargo-deadlinks to CI #1078

Closed
wants to merge 2 commits into from
Closed

Conversation

jyn514
Copy link
Contributor

@jyn514 jyn514 commented Nov 2, 2020

Motivation

Make sure that the generated documentation doesn't have broken links (#1077 (comment)).

Solution

Use cargo deadlinks to check all the links automatically.

This doesn't use --check-http since that takes a while to run (and can lead to spurious failures), but I can add it if you're interested.

@jyn514 jyn514 requested review from hawkw and a team as code owners November 2, 2020 19:32
@jyn514

This comment has been minimized.

@jyn514

This comment has been minimized.

@jyn514
Copy link
Contributor Author

jyn514 commented Nov 2, 2020

This found a bunch more broken links, even after the changes in #1077.

Broken links
Found invalid urls in dispatcher/fn.with_default.html:
	Linked file at path fn.set_global_default.html does not exist!
Found invalid urls in dispatcher/fn.set_default.html:
	Linked file at path fn.set_global_default.html does not exist!
Found invalid urls in dispatcher/index.html:
	Linked file at path dispatcher/trait.Subscriber.html does not exist!
	Linked file at path dispatcher/struct.Subscriber.html does not exist!
Found invalid urls in dispatcher/struct.Dispatch.html:
	Linked file at path metadata/struct.Metadata.html does not exist!
	Linked file at path dispatcher/trait.Subscriber.html does not exist!
Found invalid urls in struct.Metadata.html:
	Linked file at path /home/runner/work/tracing/tracing/target/doc/callsite/struct.Identifier.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/struct.Span.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/span/index.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/event/index.html does not exist!
Found invalid urls in trait.Value.html:
	Linked file at path trait.Visit.html does not exist!
Found invalid urls in trait.Instrument.html:
	Linked file at path /home/runner/work/tracing/tracing/target/doc/struct.Span.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/struct.Span.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/struct.Span.html does not exist!
Found invalid urls in level_filters/struct.LevelFilter.html:
	Linked file at path /home/runner/work/tracing/tracing/target/doc/trait.Subscriber.html does not exist!
Found invalid urls in trait.Subscriber.html:
	Linked file at path /home/runner/work/tracing/tracing/target/doc/span/struct.Current.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/span/struct.Id.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/event/struct.Event.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/span/struct.Record.html does not exist!
	Linked file at path struct.Interest.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/field/trait.Visit.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/span/struct.Attributes.html does not exist!
	Linked file at path struct.Interest.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/span/struct.Current.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/span/struct.Attributes.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/struct.Level.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/event/struct.Event.html does not exist!
Found invalid urls in struct.Once.html:
	Linked file at path struct.Mutex.html does not exist!
Found invalid urls in metadata/struct.LevelFilter.html:
	Linked file at path /home/runner/work/tracing/tracing/target/doc/trait.Subscriber.html does not exist!
Found invalid urls in trait.Callsite.html:
	Linked file at path /home/runner/work/tracing/tracing/target/doc/metadata/struct.Metadata.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/subscriber/struct.Interest.html does not exist!
Found invalid urls in struct.Dispatch.html:
	Linked file at path /home/runner/work/tracing/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/span/struct.Id.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/event/struct.Event.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/metadata/struct.Metadata.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
Found invalid urls in struct.Field.html:
	Linked file at path /home/runner/work/tracing/tracing/target/doc/callsite/struct.Identifier.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/callsite/trait.Callsite.html does not exist!
Found invalid urls in index.html:
	Linked file at path struct.Subscriber.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/span/index.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/event/index.html does not exist!
Found invalid urls in struct.Event.html:
	Linked file at path /home/runner/work/tracing/tracing/target/doc/struct.Metadata.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/field/trait.Visit.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/span does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/field does not exist!
Found invalid urls in struct.ErrorSubscriber.html:
	Linked file at path tracing_core::Collect::register_callsite() does not exist!
	Linked file at path tracing_core::Collect does not exist!
Found invalid urls in struct.FlameSubscriber.html:
	Linked file at path tracing_core::Collect does not exist!
	Linked file at path tracing_core::Collect::register_callsite() does not exist!
Found invalid urls in log_tracer/index.html:
	Linked file at path log_tracer/LogTracer.html does not exist!
	Linked file at path log_tracer/fn.set_logger.html does not exist!
	Linked file at path log_tracer/LogTracer.html does not exist!
Found invalid urls in log_tracer/struct.SetLoggerError.html:
	Linked file at path log_tracer/fn.set_logger.html does not exist!
Found invalid urls in struct.OpenTelemetryLayer.html:
	Linked file at path /home/runner/work/tracing/tracing/target/context/struct.Context.html does not exist!
Found invalid urls in index.html:
	Linked file at path /home/runner/work/tracing/tracing/target/doc/examples does not exist!
Found invalid urls in fmt/format/struct.Format.html:
	Linked file at path fmt/fmt/format/struct.Json.html does not exist!
Found invalid urls in fmt/format/struct.FmtSpan.html:
	Linked file at path fmt/struct.SubscriberBuilder.html does not exist!
Found invalid urls in struct.FmtSubscriber.html:
	Linked file at path struct.Subscriber.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/fmt/format/struct.Json.html does not exist!
	Linked file at path /home/runner/work/tracing/tracing/target/doc/fmt/format/struct.Compact.html does not exist!
Found invalid urls in request_span/make/struct.MakeFuture.html:
	Linked file at path request_span/make/futures_core::future::TryFuture does not exist!
Found invalid urls in service_span/make/struct.MakeFuture.html:
	Linked file at path service_span/make/futures_core::future::TryFuture does not exist!

They're mostly coming from inline a href="..." HTML it looks like.

@jyn514
Copy link
Contributor Author

jyn514 commented Nov 2, 2020

Found invalid urls in dispatcher/index.html:
	Linked file at path dispatcher/trait.Subscriber.html does not exist!
	Linked file at path dispatcher/struct.Subscriber.html does not exist!

This one is weird - wasn't dispatcher renamed to dispatch in #1015? Is this caching docs built before the action was added somehow?

@jyn514
Copy link
Contributor Author

jyn514 commented Nov 2, 2020

Found invalid urls in request_span/make/struct.MakeFuture.html:
	Linked file at path request_span/make/futures_core::future::TryFuture does not exist!
Found invalid urls in service_span/make/struct.MakeFuture.html:
	Linked file at path service_span/make/futures_core::future::TryFuture does not exist!

This is also weird ... it's a dependency so maybe it should be ignored? I need to look into the root cause, it might be a rustdoc bug.

@davidbarsky
Copy link
Member

This one is weird - wasn't dispatcher renamed to dispatch in #1015? Is this caching docs built before the action was added somehow?

Possibly, but I wouldn't be surprised if I forgot to fix that link.

@jyn514 jyn514 force-pushed the deadlinks branch 2 times, most recently from f13e2db to 301ef7d Compare November 3, 2020 03:55
@jyn514
Copy link
Contributor Author

jyn514 commented Nov 3, 2020

I found the issue: there are a bunch of <a href="..."> links.

tracing-subscriber/src/registry/mod.rs
99:    /// typically call the <a href="#method.span"><code>span</code></a> method rather

tracing-subscriber/src/subscribe.rs
213:    /// <strong>Note</strong>: This method (and <a href="#method.enabled">
220:    /// <a href="#method.on_event"><code>on_event</code></a>,
221:    /// <a href="#method.on_enter"><code>on_enter</code></a>,
222:    /// <a href="#method.on_exit"><code>on_exit</code></a>, and other notification
262:    /// <strong>Note</strong>: This method (and <a href="#method.register_callsite">
269:    /// <a href="#method.on_event"><code>on_event</code></a>,
270:    /// <a href="#method.on_enter"><code>on_enter</code></a>,
271:    /// <a href="#method.on_exit"><code>on_exit</code></a>, and other notification
1011:    /// <a href="../registry/trait.LookupSpan.html"><code>LookupSpan</code></a> trait.
1012:    /// See the documentation on <a href="./struct.Context.html"><code>Context</code>'s
1035:    /// <a href="../registry/trait.LookupSpan.html"><code>LookupSpan</code></a> trait.
1036:    /// See the documentation on <a href="./struct.Context.html"><code>Context</code>'s
1060:    /// <a href="../registry/trait.LookupSpan.html"><code>LookupSpan</code></a> trait.
1061:    /// See the documentation on <a href="./struct.Context.html"><code>Context</code>'s
1097:    /// <a href="../registry/trait.LookupSpan.html"><code>LookupSpan</code></a> trait.
1098:    /// See the documentation on <a href="./struct.Context.html"><code>Context</code>'s

tracing/src/lib.rs
61://!     <a href="span/struct.Span.html#in-asynchronous-code">the method documentation</a>

tracing/src/dispatch.rs
125://! use <a href="fn.set_global_default.html"><code>set_global_default</code></a>

tracing/src/field.rs
14:/// <a href="./struct.Field.html"><code>Field</code></a> type <em>and</em> any

tracing/src/span.rs
85://!     <a href="struct.Span.html#in-asynchronous-code">the method documentation</a>
571:    /// <a href="../struct.Entered.html"><code>Entered</code></a> guard does not
878:    /// <a href="../struct.Metadata.html"><code>Metadata</code></a>.
879:    /// The <a href="../struct.Metadata.html"><code>Metadata</code></a>. describing a particular

@@ -6,7 +6,7 @@
//! [![Documentation (master)][docs-master-badge]][docs-master-url]
//!
//! [docs-badge]: https://docs.rs/tracing-serde/badge.svg
//! [docs-url]: https://docs.rs/tracing-serde
//! [docs-url]: crate
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does crate mean here? I looked over the RFC (https://github.com/rust-lang/rfcs/blob/master/text/1946-intra-rustdoc-links.md) and I don't see it defined.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a normal rust path: it means 'the crate this link is defined in', since crates don't know their own names. It will go to https://docs.rs/tracing-serde on docs.rs and to the crate root when you document locally.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, thanks for the details!

Copy link
Member

@davidbarsky davidbarsky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the delay in reviewing this! The failing test is a known flakey one. I approved this, but I have a question about some of the syntax.

@jyn514
Copy link
Contributor Author

jyn514 commented Nov 15, 2020

@davidbarsky sorry, I haven't been keeping the status up to date - this isn't ready for review and won't be for a while because of all the broken links:

Found invalid urls in subscriber/fn.set_default.html:
	Linked file at path subscriber/:../event/struct.Event.html does not exist!
Found invalid urls in subscriber/fn.with_default.html:
	Linked file at path subscriber/:../event/struct.Event.html does not exist!
Found invalid urls in subscriber/trait.Subscriber.html:
	Linked file at path callsite/fn.rebuild_interest_cache.html does not exist!
	Linked file at path span/struct.Current.html does not exist!
	Linked file at path metadata/struct.Metadata.html does not exist!
	Linked file at path span/struct.Current.html does not exist!
Found invalid urls in struct.Dispatch.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Span.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/struct.Id.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/metadata/struct.Metadata.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/event/struct.Event.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
Found invalid urls in field/struct.Field.html:
	Linked file at path callsite/trait.Callsite.html does not exist!
	Linked file at path callsite/struct.Identifier.html does not exist!
Found invalid urls in field/struct.ValueSet.html:
	Linked file at path callsite/struct.Identifier.html does not exist!
	Linked file at path callsite/trait.Callsite.html does not exist!
Found invalid urls in field/struct.FieldSet.html:
	Linked file at path struct.Field.html does not exist!
Found invalid urls in trait.Instrument.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Span.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Span.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Span.html does not exist!
Found invalid urls in index.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/event/index.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/index.html does not exist!
	Linked file at path struct.Subscriber.html does not exist!
Found invalid urls in trait.Subscriber.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/metadata/struct.Metadata.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/event/struct.Event.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/struct.Current.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/field/trait.Visit.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/struct.Id.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/event/struct.Event.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/struct.Record.html does not exist!
	Linked file at path struct.Interest.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/event/struct.Event.html does not exist!
	Linked file at path struct.Interest.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/struct.Attributes.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/struct.Attributes.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/struct.Current.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/callsite/fn.rebuild_interest_cache.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Level.html does not exist!
Found invalid urls in span/struct.Span.html:
	Linked file at path metadata does not exist!
	Linked file at path struct.Id.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/attr.instrument.html does not exist!
Found invalid urls in struct.Level.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Span.html does not exist!
Found invalid urls in dispatcher/fn.set_default.html:
	Linked file at path fn.set_global_default.html does not exist!
Found invalid urls in dispatcher/fn.with_default.html:
	Linked file at path fn.set_global_default.html does not exist!
Found invalid urls in dispatcher/index.html:
	Linked file at path dispatcher/struct.Subscriber.html does not exist!
	Linked file at path dispatcher/trait.Subscriber.html does not exist!
Found invalid urls in struct.Span.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Metadata.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/field/struct.Empty.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Span.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/field/struct.Field.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Span.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Id.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/field/struct.ValueSet.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/attr.instrument.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/metadata does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
Found invalid urls in dispatcher/struct.Dispatch.html:
	Linked file at path dispatcher/trait.Subscriber.html does not exist!
	Linked file at path metadata/struct.Metadata.html does not exist!
Found invalid urls in struct.Event.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Metadata.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Span.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/field/trait.Visit.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/field does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span does not exist!
Found invalid urls in struct.Metadata.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/index.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/callsite/struct.Identifier.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Span.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/event/index.html does not exist!
Found invalid urls in trait.Value.html:
	Linked file at path trait.Visit.html does not exist!
Found invalid urls in level_filters/struct.LevelFilter.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/trait.Subscriber.html does not exist!
Found invalid urls in struct.Once.html:
	Linked file at path struct.Mutex.html does not exist!
Found invalid urls in struct.Dispatch.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/struct.Id.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/event/struct.Event.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/metadata/struct.Metadata.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
Found invalid urls in struct.LevelFilter.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Level.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/trait.Subscriber.html does not exist!
Found invalid urls in index.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/index.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/event/index.html does not exist!
	Linked file at path struct.Subscriber.html does not exist!
Found invalid urls in metadata/struct.LevelFilter.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/trait.Subscriber.html does not exist!
Found invalid urls in trait.Callsite.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/struct.Interest.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/metadata/struct.Metadata.html does not exist!
Found invalid urls in struct.Field.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/callsite/struct.Identifier.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/callsite/trait.Callsite.html does not exist!
Found invalid urls in trait.Subscriber.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/struct.Attributes.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/struct.Record.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/field/trait.Visit.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/metadata/struct.Metadata.html does not exist!
	Linked file at path struct.Interest.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/event/struct.Event.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Level.html does not exist!
	Linked file at path struct.Interest.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/callsite/fn.rebuild_interest_cache.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/struct.Current.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/struct.Current.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/struct.Attributes.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/event/struct.Event.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/struct.Id.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/event/struct.Event.html does not exist!
Found invalid urls in dispatcher/fn.set_default.html:
	Linked file at path fn.set_global_default.html does not exist!
Found invalid urls in dispatcher/fn.with_default.html:
	Linked file at path fn.set_global_default.html does not exist!
Found invalid urls in dispatcher/index.html:
	Linked file at path dispatcher/trait.Subscriber.html does not exist!
	Linked file at path dispatcher/struct.Subscriber.html does not exist!
Found invalid urls in dispatcher/struct.Dispatch.html:
	Linked file at path dispatcher/trait.Subscriber.html does not exist!
Found invalid urls in struct.Event.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/field/trait.Visit.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/struct.Metadata.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/field does not exist!
Found invalid urls in struct.Metadata.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/callsite/struct.Identifier.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/span/index.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/subscriber/trait.Subscriber.html does not exist!
	Linked file at path /home/joshua/src/rust/tracing/target/doc/event/index.html does not exist!
Found invalid urls in struct.ErrorSubscriber.html:
	Linked file at path tracing_core::Collect does not exist!
	Linked file at path tracing_core::Collect::register_callsite() does not exist!
Found invalid urls in log_tracer/index.html:
	Linked file at path log_tracer/LogTracer.html does not exist!
	Linked file at path log_tracer/LogTracer.html does not exist!
	Linked file at path log_tracer/fn.set_logger.html does not exist!
Found invalid urls in log_tracer/struct.SetLoggerError.html:
	Linked file at path log_tracer/fn.set_logger.html does not exist!
Found invalid urls in index.html:
	Linked file at path /home/joshua/src/rust/tracing/target/doc/examples does not exist!
Found invalid urls in struct.FlameSubscriber.html:
	Linked file at path tracing_core::Collect does not exist!
	Linked file at path tracing_core::Collect::register_callsite() does not exist!
Found invalid urls in request_span/make/struct.MakeFuture.html:
	Linked file at path request_span/make/futures_core::future::TryFuture does not exist!
Found invalid urls in service_span/make/struct.MakeFuture.html:
	Linked file at path service_span/make/futures_core::future::TryFuture does not exist!
Found invalid urls in struct.OpenTelemetryLayer.html:
	Linked file at path /home/joshua/src/rust/tracing/target/context/struct.Context.html does not exist!

I haven't looked in detail why the links are broken, if you want to fix them in parallel be my guest :P

@davidbarsky
Copy link
Member

@jyn514 Gotcha, no worries. I didn't see an issue on cargo-deadlinks to print out the locations of broken links. Do you want me to open an issue there about that?

@jyn514
Copy link
Contributor Author

jyn514 commented Nov 15, 2020

There's an issue: deadlinks/cargo-deadlinks#14. The tricky thing is there's no simple way to reconstruct the original location from the generated docs, that requires knowledge of rustdoc internals: deadlinks/cargo-deadlinks#14 (comment)

- Use --cfg docsrs
- Only check dependencies
- Pass --all-features
@jyn514
Copy link
Contributor Author

jyn514 commented Jul 30, 2021

I won't have time to work on this in the near future.

@jyn514 jyn514 closed this Jul 30, 2021
@jyn514 jyn514 deleted the deadlinks branch July 30, 2021 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants