mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-04 18:40:57 +03:00
Merge remote-tracking branch 'upstream/master' into rustup
This commit is contained in:
@@ -13,7 +13,7 @@ fn exit_if_err(status: io::Result<ExitStatus>) {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn run(path: &str) {
|
||||
pub fn run<'a>(path: &str, args: impl Iterator<Item = &'a str>) {
|
||||
let is_file = match fs::metadata(path) {
|
||||
Ok(metadata) => metadata.is_file(),
|
||||
Err(e) => {
|
||||
@@ -30,6 +30,7 @@ pub fn run(path: &str) {
|
||||
.args(["-Z", "no-codegen"])
|
||||
.args(["--edition", "2021"])
|
||||
.arg(path)
|
||||
.args(args)
|
||||
.status(),
|
||||
);
|
||||
} else {
|
||||
@@ -42,6 +43,8 @@ pub fn run(path: &str) {
|
||||
.expect("failed to create tempdir");
|
||||
|
||||
let status = Command::new(cargo_clippy_path())
|
||||
.arg("clippy")
|
||||
.args(args)
|
||||
.current_dir(path)
|
||||
.env("CARGO_TARGET_DIR", target.as_ref())
|
||||
.status();
|
||||
|
||||
+36
-2
@@ -76,7 +76,8 @@ fn main() {
|
||||
},
|
||||
("lint", Some(matches)) => {
|
||||
let path = matches.value_of("path").unwrap();
|
||||
lint::run(path);
|
||||
let args = matches.values_of("args").into_iter().flatten();
|
||||
lint::run(path, args);
|
||||
},
|
||||
("rename_lint", Some(matches)) => {
|
||||
let old_name = matches.value_of("old_name").unwrap();
|
||||
@@ -123,7 +124,7 @@ fn get_clap_config<'a>() -> ArgMatches<'a> {
|
||||
* the lint count in README.md is correct\n \
|
||||
* the changelog contains markdown link references at the bottom\n \
|
||||
* all lint groups include the correct lints\n \
|
||||
* lint modules in `clippy_lints/*` are visible in `src/lifb.rs` via `pub mod`\n \
|
||||
* lint modules in `clippy_lints/*` are visible in `src/lib.rs` via `pub mod`\n \
|
||||
* all lints are registered in the lint store",
|
||||
)
|
||||
.arg(Arg::with_name("print-only").long("print-only").help(
|
||||
@@ -278,11 +279,44 @@ fn get_clap_config<'a>() -> ArgMatches<'a> {
|
||||
Lint a package directory:
|
||||
cargo dev lint tests/ui-cargo/wildcard_dependencies/fail
|
||||
cargo dev lint ~/my-project
|
||||
|
||||
Run rustfix:
|
||||
cargo dev lint ~/my-project -- --fix
|
||||
|
||||
Set lint levels:
|
||||
cargo dev lint file.rs -- -W clippy::pedantic
|
||||
cargo dev lint ~/my-project -- -- -W clippy::pedantic
|
||||
"})
|
||||
.arg(
|
||||
Arg::with_name("path")
|
||||
.required(true)
|
||||
.help("The path to a file or package directory to lint"),
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("args")
|
||||
.multiple(true)
|
||||
.help("Pass extra arguments to cargo/clippy-driver"),
|
||||
),
|
||||
)
|
||||
.subcommand(
|
||||
SubCommand::with_name("rename_lint")
|
||||
.about("Renames the given lint")
|
||||
.arg(
|
||||
Arg::with_name("old_name")
|
||||
.index(1)
|
||||
.required(true)
|
||||
.help("The name of the lint to rename"),
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("new_name")
|
||||
.index(2)
|
||||
.required_unless("uplift")
|
||||
.help("The new name of the lint"),
|
||||
)
|
||||
.arg(
|
||||
Arg::with_name("uplift")
|
||||
.long("uplift")
|
||||
.help("This lint will be uplifted into rustc"),
|
||||
),
|
||||
)
|
||||
.subcommand(
|
||||
|
||||
@@ -133,7 +133,7 @@ fn to_camel_case(name: &str) -> String {
|
||||
.collect()
|
||||
}
|
||||
|
||||
fn get_stabilisation_version() -> String {
|
||||
fn get_stabilization_version() -> String {
|
||||
fn parse_manifest(contents: &str) -> Option<String> {
|
||||
let version = contents
|
||||
.lines()
|
||||
@@ -199,7 +199,7 @@ fn get_lint_file_contents(lint: &LintData<'_>, enable_msrv: bool) -> String {
|
||||
},
|
||||
};
|
||||
|
||||
let version = get_stabilisation_version();
|
||||
let version = get_stabilization_version();
|
||||
let lint_name = lint.name;
|
||||
let category = lint.category;
|
||||
let name_camel = to_camel_case(lint.name);
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
const DOCS_LINK: &str = "https://rust-lang.github.io/rust-clippy/master/index.html";
|
||||
|
||||
#[derive(Clone, Copy, PartialEq)]
|
||||
#[derive(Clone, Copy, PartialEq, Eq)]
|
||||
pub enum UpdateMode {
|
||||
Check,
|
||||
Change,
|
||||
@@ -66,8 +66,13 @@ fn generate_lint_files(
|
||||
|res| {
|
||||
for lint in usable_lints
|
||||
.iter()
|
||||
.map(|l| &l.name)
|
||||
.chain(deprecated_lints.iter().map(|l| &l.name))
|
||||
.map(|l| &*l.name)
|
||||
.chain(deprecated_lints.iter().map(|l| &*l.name))
|
||||
.chain(
|
||||
renamed_lints
|
||||
.iter()
|
||||
.map(|l| l.old_name.strip_prefix("clippy::").unwrap_or(&l.old_name)),
|
||||
)
|
||||
.sorted()
|
||||
{
|
||||
writeln!(res, "[`{}`]: {}#{}", lint, DOCS_LINK, lint).unwrap();
|
||||
@@ -372,7 +377,7 @@ fn exit_with_failure() {
|
||||
}
|
||||
|
||||
/// Lint data parsed from the Clippy source code.
|
||||
#[derive(Clone, PartialEq, Debug)]
|
||||
#[derive(Clone, PartialEq, Eq, Debug)]
|
||||
struct Lint {
|
||||
name: String,
|
||||
group: String,
|
||||
@@ -414,7 +419,7 @@ fn by_lint_group(lints: impl Iterator<Item = Self>) -> HashMap<String, Vec<Self>
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq, Debug)]
|
||||
#[derive(Clone, PartialEq, Eq, Debug)]
|
||||
struct DeprecatedLint {
|
||||
name: String,
|
||||
reason: String,
|
||||
|
||||
Reference in New Issue
Block a user