Skip to content

Commit

Permalink
rustdoc: link consistently to stable/beta in diagnostic messages
Browse files Browse the repository at this point in the history
  • Loading branch information
jyn514 committed Jun 4, 2021
1 parent 7411a9e commit 4c71610
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 7 deletions.
3 changes: 2 additions & 1 deletion src/librustdoc/clean/utils.rs
Expand Up @@ -544,7 +544,8 @@ crate fn has_doc_flag(attrs: ty::Attributes<'_>, flag: Symbol) -> bool {
})
}

/// A link to `doc.rust-lang.org` that includes the channel name.
/// A link to `doc.rust-lang.org` that includes the channel name. Use this instead of manual links
/// so that the channel is consistent.
///
/// Set by `bootstrap::Builder::doc_rust_lang_org_channel` in order to keep tests passing on beta/stable.
crate const DOC_RUST_LANG_ORG_CHANNEL: &'static str = env!("DOC_RUST_LANG_ORG_CHANNEL");
9 changes: 6 additions & 3 deletions src/librustdoc/core.rs
Expand Up @@ -399,15 +399,18 @@ crate fn run_global_ctxt(
let mut krate = tcx.sess.time("clean_crate", || clean::krate(&mut ctxt));

if krate.module.doc_value().map(|d| d.is_empty()).unwrap_or(true) {
let help = "The following guide may be of use:\n\
https://doc.rust-lang.org/nightly/rustdoc/how-to-write-documentation.html";
let help = format!(
"The following guide may be of use:\n\
{}/rustdoc/how-to-write-documentation.html",
crate::DOC_RUST_LANG_ORG_CHANNEL
);
tcx.struct_lint_node(
crate::lint::MISSING_CRATE_LEVEL_DOCS,
DocContext::as_local_hir_id(tcx, krate.module.def_id).unwrap(),
|lint| {
let mut diag =
lint.build("no documentation found for this crate's top-level module");
diag.help(help);
diag.help(&help);
diag.emit();
},
);
Expand Down
5 changes: 4 additions & 1 deletion src/librustdoc/lib.rs
Expand Up @@ -605,7 +605,10 @@ fn usage(argv0: &str) {
}
println!("{}", options.usage(&format!("{} [options] <input>", argv0)));
println!(" @path Read newline separated options from `path`\n");
println!("More information available at https://doc.rust-lang.org/rustdoc/what-is-rustdoc.html")
println!(
"More information available at {}/rustdoc/what-is-rustdoc.html",
DOC_RUST_LANG_ORG_CHANNEL
);
}

/// A result type used by several functions under `main()`.
Expand Down
7 changes: 5 additions & 2 deletions src/librustdoc/passes/collect_intra_doc_links.rs
Expand Up @@ -1999,8 +1999,11 @@ fn disambiguator_error(
) {
diag_info.link_range = disambiguator_range;
report_diagnostic(cx.tcx, BROKEN_INTRA_DOC_LINKS, msg, &diag_info, |diag, _sp| {
let msg = "see https://doc.rust-lang.org/nightly/rustdoc/linking-to-items-by-name.html#namespaces-and-disambiguators for more info about disambiguators";
diag.note(msg);
let msg = format!(
"see {}/rustdoc/linking-to-items-by-name.html#namespaces-and-disambiguators for more info about disambiguators",
crate::DOC_RUST_LANG_ORG_CHANNEL
);
diag.note(&msg);
});
}

Expand Down

0 comments on commit 4c71610

Please sign in to comment.