How to control rustdoc warnings

I'm looking for a way to deny rustdoc warnings in my own code, but allow them in upstream crates.

It's easy to do this for compiler warnings. This will not break the build if I use a Rust 2015 crate:

#![deny(rust_2018_idioms)]

But that does not seem to hold for rustdoc warnings. Doing this:

#![deny(intra_doc_link_resolution_failure)]

breaks our build due to upstream errors in rand_core:

error: `[impls::next_u32_via_fill]` cannot be resolved, ignoring it...
   --> ~\.cargo\registry\src\github.com-1ecc6299db9ec823\rand_core-0.4.0\src\lib.rs:144:24
    |
144 |     /// [`fill_bytes`][impls::next_u32_via_fill].
    |                        ^^^^^^^^^^^^^^^^^^^^^^^^ cannot be resolved, ignoring
    |
    = help: to escape `[` and `]` characters, just add '\' before them like `\[` or `\]`

Is there some way I can enforce correctness in code I've written, without getting blocked by upstream errors?

1 Like

Could this be a regression in nightly? I'm getting this exact warning on rustc 1.34.0-nightly with a crate that depends on rand_core v0.4.0, but the same thing works without warnings on rustc 1.32.0 for me.

Edit: I've been informed that link shortcut syntax is only supported on nightly, hence stable working fine.