diagnostics: only talk about Cargo.toml
if running under Cargo
Fixes #94646
This commit is contained in:
parent
d137c3a7bd
commit
fbd4cfa0f8
13 changed files with 132 additions and 33 deletions
|
@ -7,6 +7,7 @@ use crate::SuggestionStyle;
|
|||
use crate::ToolMetadata;
|
||||
use rustc_lint_defs::Applicability;
|
||||
use rustc_serialize::json::Json;
|
||||
use rustc_span::edition::LATEST_STABLE_EDITION;
|
||||
use rustc_span::{MultiSpan, Span, DUMMY_SP};
|
||||
use std::fmt;
|
||||
use std::hash::{Hash, Hasher};
|
||||
|
@ -342,6 +343,18 @@ impl Diagnostic {
|
|||
self
|
||||
}
|
||||
|
||||
/// Help the user upgrade to the latest edition.
|
||||
/// This is factored out to make sure it does the right thing with `Cargo.toml`.
|
||||
pub fn help_use_latest_edition(&mut self) -> &mut Self {
|
||||
if std::env::var_os("CARGO").is_some() {
|
||||
self.help(&format!("set `edition = \"{}\"` in `Cargo.toml`", LATEST_STABLE_EDITION));
|
||||
} else {
|
||||
self.help(&format!("pass `--edition {}` to `rustc`", LATEST_STABLE_EDITION));
|
||||
}
|
||||
self.note("for more on editions, read https://doc.rust-lang.org/edition-guide");
|
||||
self
|
||||
}
|
||||
|
||||
/// Disallow attaching suggestions this diagnostic.
|
||||
/// Any suggestions attached e.g. with the `span_suggestion_*` methods
|
||||
/// (before and after the call to `disable_suggestions`) will be ignored.
|
||||
|
|
|
@ -409,6 +409,7 @@ impl<'a, G: EmissionGuarantee> DiagnosticBuilder<'a, G> {
|
|||
sp: impl Into<MultiSpan>,
|
||||
msg: &str,
|
||||
) -> &mut Self);
|
||||
forward!(pub fn help_use_latest_edition(&mut self,) -> &mut Self);
|
||||
forward!(pub fn set_is_lint(&mut self,) -> &mut Self);
|
||||
|
||||
forward!(pub fn disable_suggestions(&mut self,) -> &mut Self);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue