Compare commits
3 commits
dd7142647f
...
e62f5cce80
| Author | SHA1 | Date | |
|---|---|---|---|
| e62f5cce80 | |||
| 72fd03a4df | |||
| 8bff2cf4cc |
16 changed files with 3131 additions and 18 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,2 +1,3 @@
|
|||
.direnv
|
||||
result
|
||||
target/
|
||||
|
|
|
|||
378
dylint_driver/Cargo.lock
generated
Normal file
378
dylint_driver/Cargo.lock
generated
Normal file
|
|
@ -0,0 +1,378 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "aho-corasick"
|
||||
version = "1.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstream"
|
||||
version = "0.6.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b"
|
||||
dependencies = [
|
||||
"anstyle",
|
||||
"anstyle-parse",
|
||||
"anstyle-query",
|
||||
"anstyle-wincon",
|
||||
"colorchoice",
|
||||
"is_terminal_polyfill",
|
||||
"utf8parse",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle"
|
||||
version = "1.0.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9"
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-parse"
|
||||
version = "0.2.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9"
|
||||
dependencies = [
|
||||
"utf8parse",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-query"
|
||||
version = "1.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c"
|
||||
dependencies = [
|
||||
"windows-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-wincon"
|
||||
version = "3.0.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e"
|
||||
dependencies = [
|
||||
"anstyle",
|
||||
"once_cell",
|
||||
"windows-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.97"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f"
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "colorchoice"
|
||||
version = "1.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
|
||||
|
||||
[[package]]
|
||||
name = "dylint_driver"
|
||||
version = "4.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4db7cd0e98997a1717c2efae76cb301835cc1a224bad4274837e23fc89846103"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"dylint_internal",
|
||||
"libc",
|
||||
"libloading",
|
||||
"log",
|
||||
"rustversion",
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dylint_driver-nix"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"dylint_driver",
|
||||
"env_logger",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dylint_internal"
|
||||
version = "4.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e89499236f169dc57ad3c6c8e85eea213efcf743c5a9856ab82522e62512bcff"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"log",
|
||||
"once_cell",
|
||||
"regex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "env_filter"
|
||||
version = "0.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0"
|
||||
dependencies = [
|
||||
"log",
|
||||
"regex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "env_logger"
|
||||
version = "0.11.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
"env_filter",
|
||||
"humantime",
|
||||
"log",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "humantime"
|
||||
version = "2.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
|
||||
|
||||
[[package]]
|
||||
name = "is_terminal_polyfill"
|
||||
version = "1.70.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "1.0.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.170"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828"
|
||||
|
||||
[[package]]
|
||||
name = "libloading"
|
||||
version = "0.8.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.26"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.20.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.94"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.39"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c1f1914ce909e1658d9907913b4b91947430c7d9be598b15a1912935b8c04801"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-automata",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-automata"
|
||||
version = "0.4.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.8.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
||||
|
||||
[[package]]
|
||||
name = "rustversion"
|
||||
version = "1.0.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4"
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.218"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.218"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.140"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"memchr",
|
||||
"ryu",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.99"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e02e925281e18ffd9d640e234264753c43edc62d64b2d4cf898f1bc5e75f3fc2"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe"
|
||||
|
||||
[[package]]
|
||||
name = "utf8parse"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.59.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
|
||||
dependencies = [
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm",
|
||||
"windows_aarch64_msvc",
|
||||
"windows_i686_gnu",
|
||||
"windows_i686_gnullvm",
|
||||
"windows_i686_msvc",
|
||||
"windows_x86_64_gnu",
|
||||
"windows_x86_64_gnullvm",
|
||||
"windows_x86_64_msvc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.52.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
||||
9
dylint_driver/Cargo.toml
Normal file
9
dylint_driver/Cargo.toml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[package]
|
||||
name = "dylint_driver-nix"
|
||||
version = "0.1.0"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0"
|
||||
env_logger = "0.11"
|
||||
dylint_driver = "4.0.0"
|
||||
13
dylint_driver/src/main.rs
Normal file
13
dylint_driver/src/main.rs
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#![feature(rustc_private)]
|
||||
|
||||
use anyhow::Result;
|
||||
use std::env;
|
||||
use std::ffi::OsString;
|
||||
|
||||
pub fn main() -> Result<()> {
|
||||
env_logger::init();
|
||||
let args: Vec<_> = env::args().map(OsString::from).collect();
|
||||
dylint_driver::dylint_driver(&args)
|
||||
}
|
||||
|
||||
|
||||
18
flake.nix
18
flake.nix
|
|
@ -23,7 +23,11 @@
|
|||
];
|
||||
};
|
||||
|
||||
rustTarget = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;
|
||||
rustTarget = pkgs.rust-bin.nightly."2025-01-09".default.override {
|
||||
extensions = [
|
||||
"rustc-dev"
|
||||
];
|
||||
};
|
||||
craneLib = (inputs.crane.mkLib pkgs).overrideToolchain rustTarget;
|
||||
|
||||
lib = import ./lib {
|
||||
|
|
@ -33,16 +37,24 @@
|
|||
pkgs
|
||||
;
|
||||
};
|
||||
drivers = pkgs.runCommandLocal "dylint-drivers" { } ''
|
||||
mkdir -p $out/nightly-2025-01-09
|
||||
ln -s ${lib.cargo-dylint-driver}/bin/dylint_driver-nix $out/nightly-2025-01-09/dylint-driver
|
||||
'';
|
||||
in
|
||||
{
|
||||
packages = lib // {
|
||||
inherit craneLib;
|
||||
inherit craneLib drivers;
|
||||
rust = rustTarget;
|
||||
};
|
||||
|
||||
devShells.default = pkgs.mkShell {
|
||||
RUSTUP_TOOLCHAIN = "nightly-2025-01-09";
|
||||
DYLINT_LIBRARY_PATH = "${lib.cargo-dylint-general}/lib/";
|
||||
DYLINT_DRIVER_PATH = drivers;
|
||||
nativeBuildInputs = [
|
||||
pkgs.rust-bin.nightly.latest.default
|
||||
rustTarget
|
||||
lib.cargo-dylint
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
27
lib/cargo-dylint-driver.nix
Normal file
27
lib/cargo-dylint-driver.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
craneLib,
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "cargo-dylint-driver";
|
||||
version = "4.0.0";
|
||||
|
||||
src = ../dylint_driver;
|
||||
|
||||
commonArgs = {
|
||||
inherit pname version src;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
RUSTUP_TOOLCHAIN = "nightly-2025-01-09";
|
||||
};
|
||||
in
|
||||
|
||||
craneLib.buildPackage (
|
||||
commonArgs
|
||||
// {
|
||||
cargoArtifacts = craneLib.buildDepsOnly commonArgs;
|
||||
|
||||
doNotRemoveReferencesToRustToolchain = true;
|
||||
}
|
||||
)
|
||||
1888
lib/cargo-dylint-general-Cargo.lock
generated
Normal file
1888
lib/cargo-dylint-general-Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
582
lib/cargo-dylint-general-ignore-home.patch
Normal file
582
lib/cargo-dylint-general-ignore-home.patch
Normal file
|
|
@ -0,0 +1,582 @@
|
|||
diff --git a/examples/general/Cargo.lock b/examples/general/Cargo.lock
|
||||
index 04ea8685..1c9f4d15 100644
|
||||
--- a/examples/general/Cargo.lock
|
||||
+++ b/examples/general/Cargo.lock
|
||||
@@ -83,9 +83,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
-version = "1.0.96"
|
||||
+version = "1.0.97"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "6b964d184e89d9b6b67dd2715bc8e74cf3107fb2b529990c90cf517326150bf4"
|
||||
+checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f"
|
||||
|
||||
[[package]]
|
||||
name = "arrayvec"
|
||||
@@ -136,9 +136,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
-version = "2.8.0"
|
||||
+version = "2.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36"
|
||||
+checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd"
|
||||
|
||||
[[package]]
|
||||
name = "block-buffer"
|
||||
@@ -194,23 +194,23 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "cargo_metadata"
|
||||
-version = "0.19.1"
|
||||
+version = "0.19.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "8769706aad5d996120af43197bf46ef6ad0fda35216b4505f926a365a232d924"
|
||||
+checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba"
|
||||
dependencies = [
|
||||
"camino",
|
||||
"cargo-platform",
|
||||
"semver",
|
||||
"serde",
|
||||
"serde_json",
|
||||
- "thiserror 2.0.11",
|
||||
+ "thiserror 2.0.12",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
-version = "1.2.15"
|
||||
+version = "1.2.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "c736e259eea577f443d5c86c304f9f4ae0295c43f3ba05c21f1d66b5f06001af"
|
||||
+checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c"
|
||||
dependencies = [
|
||||
"jobserver",
|
||||
"libc",
|
||||
@@ -377,7 +377,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.98",
|
||||
+ "syn 2.0.99",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -389,10 +389,12 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
|
||||
[[package]]
|
||||
name = "dylint"
|
||||
version = "4.0.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "33b5bed63d0bb066456015cda94ca8f3675f0eea1b25024591c124a3e5a274e0"
|
||||
dependencies = [
|
||||
"ansi_term",
|
||||
"anyhow",
|
||||
- "cargo_metadata 0.19.1",
|
||||
+ "cargo_metadata 0.19.2",
|
||||
"dirs",
|
||||
"dylint_internal",
|
||||
"log",
|
||||
@@ -407,11 +409,13 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "dylint_internal"
|
||||
version = "4.0.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "e89499236f169dc57ad3c6c8e85eea213efcf743c5a9856ab82522e62512bcff"
|
||||
dependencies = [
|
||||
"ansi_term",
|
||||
"anyhow",
|
||||
"bitflags",
|
||||
- "cargo_metadata 0.19.1",
|
||||
+ "cargo_metadata 0.19.2",
|
||||
"git2",
|
||||
"home",
|
||||
"if_chain",
|
||||
@@ -421,29 +425,33 @@ dependencies = [
|
||||
"rust-embed",
|
||||
"rustversion",
|
||||
"serde",
|
||||
- "thiserror 2.0.11",
|
||||
+ "thiserror 2.0.12",
|
||||
"toml",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dylint_linting"
|
||||
version = "4.0.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "5b29cae692caaa724b2462872ac9ccd15d5639f19f36e10bfcb8a8dd00456e86"
|
||||
dependencies = [
|
||||
- "cargo_metadata 0.19.1",
|
||||
+ "cargo_metadata 0.19.2",
|
||||
"dylint_internal",
|
||||
"paste",
|
||||
"rustversion",
|
||||
"serde",
|
||||
- "thiserror 2.0.11",
|
||||
+ "thiserror 2.0.12",
|
||||
"toml",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dylint_testing"
|
||||
version = "4.0.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "297ddd66325e2ac6735539863658bfe6798c5d7e163eba6ad06514ea6960ed9a"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
- "cargo_metadata 0.19.1",
|
||||
+ "cargo_metadata 0.19.2",
|
||||
"compiletest_rs",
|
||||
"dylint",
|
||||
"dylint_internal",
|
||||
@@ -456,9 +464,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "either"
|
||||
-version = "1.13.0"
|
||||
+version = "1.14.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
|
||||
+checksum = "b7914353092ddf589ad78f25c5c1c21b7f80b0ff8621e7c814c3485b5306da9d"
|
||||
|
||||
[[package]]
|
||||
name = "env_filter"
|
||||
@@ -609,9 +617,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "globset"
|
||||
-version = "0.4.15"
|
||||
+version = "0.4.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19"
|
||||
+checksum = "54a1028dfc5f5df5da8a56a73e6c153c9a9708ec57232470703592a3f18e49f5"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"bstr",
|
||||
@@ -762,7 +770,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.98",
|
||||
+ "syn 2.0.99",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -849,9 +857,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
-version = "0.2.169"
|
||||
+version = "0.2.170"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
|
||||
+checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828"
|
||||
|
||||
[[package]]
|
||||
name = "libgit2-sys"
|
||||
@@ -912,9 +920,9 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
|
||||
|
||||
[[package]]
|
||||
name = "litemap"
|
||||
-version = "0.7.4"
|
||||
+version = "0.7.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104"
|
||||
+checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856"
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
@@ -1035,9 +1043,9 @@ checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
|
||||
|
||||
[[package]]
|
||||
name = "pkg-config"
|
||||
-version = "0.3.31"
|
||||
+version = "0.3.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
|
||||
+checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
|
||||
|
||||
[[package]]
|
||||
name = "predicates"
|
||||
@@ -1071,27 +1079,27 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
-version = "1.0.93"
|
||||
+version = "1.0.94"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
|
||||
+checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
-version = "1.0.38"
|
||||
+version = "1.0.39"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
|
||||
+checksum = "c1f1914ce909e1658d9907913b4b91947430c7d9be598b15a1912935b8c04801"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
-version = "0.5.8"
|
||||
+version = "0.5.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834"
|
||||
+checksum = "82b568323e98e49e2a0899dcee453dd679fae22d69adf9b11dd508d1549b7e2f"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
]
|
||||
@@ -1138,9 +1146,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
||||
|
||||
[[package]]
|
||||
name = "rust-embed"
|
||||
-version = "8.5.0"
|
||||
+version = "8.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "fa66af4a4fdd5e7ebc276f115e895611a34739a9c1c01028383d612d550953c0"
|
||||
+checksum = "0b3aba5104622db5c9fc61098de54708feb732e7763d7faa2fa625899f00bf6f"
|
||||
dependencies = [
|
||||
"rust-embed-impl",
|
||||
"rust-embed-utils",
|
||||
@@ -1149,22 +1157,22 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rust-embed-impl"
|
||||
-version = "8.5.0"
|
||||
+version = "8.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "6125dbc8867951125eec87294137f4e9c2c96566e61bf72c45095a7c77761478"
|
||||
+checksum = "1f198c73be048d2c5aa8e12f7960ad08443e56fd39cc26336719fdb4ea0ebaae"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"rust-embed-utils",
|
||||
- "syn 2.0.98",
|
||||
+ "syn 2.0.99",
|
||||
"walkdir",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rust-embed-utils"
|
||||
-version = "8.5.0"
|
||||
+version = "8.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "2e5347777e9aacb56039b0e1f28785929a8a3b709e87482e7442c72e7c12529d"
|
||||
+checksum = "5a2fcdc9f40c8dc2922842ca9add611ad19f332227fc651d015881ad1552bd9a"
|
||||
dependencies = [
|
||||
"globset",
|
||||
"sha2",
|
||||
@@ -1253,14 +1261,14 @@ checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.98",
|
||||
+ "syn 2.0.99",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
-version = "1.0.139"
|
||||
+version = "1.0.140"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "44f86c3acccc9c65b153fe1b85a3be07fe5515274ec9f0653b4a0875731c72a6"
|
||||
+checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"memchr",
|
||||
@@ -1319,9 +1327,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
-version = "2.0.98"
|
||||
+version = "2.0.99"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1"
|
||||
+checksum = "e02e925281e18ffd9d640e234264753c43edc62d64b2d4cf898f1bc5e75f3fc2"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -1336,7 +1344,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.98",
|
||||
+ "syn 2.0.99",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1394,11 +1402,11 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
-version = "2.0.11"
|
||||
+version = "2.0.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc"
|
||||
+checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
|
||||
dependencies = [
|
||||
- "thiserror-impl 2.0.11",
|
||||
+ "thiserror-impl 2.0.12",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1409,18 +1417,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.98",
|
||||
+ "syn 2.0.99",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror-impl"
|
||||
-version = "2.0.11"
|
||||
+version = "2.0.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2"
|
||||
+checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.98",
|
||||
+ "syn 2.0.99",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1486,7 +1494,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.98",
|
||||
+ "syn 2.0.99",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1832,28 +1840,28 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.98",
|
||||
+ "syn 2.0.99",
|
||||
"synstructure",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zerofrom"
|
||||
-version = "0.1.5"
|
||||
+version = "0.1.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e"
|
||||
+checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5"
|
||||
dependencies = [
|
||||
"zerofrom-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zerofrom-derive"
|
||||
-version = "0.1.5"
|
||||
+version = "0.1.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808"
|
||||
+checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.98",
|
||||
+ "syn 2.0.99",
|
||||
"synstructure",
|
||||
]
|
||||
|
||||
@@ -1876,5 +1884,5 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.98",
|
||||
+ "syn 2.0.99",
|
||||
]
|
||||
diff --git a/examples/general/Cargo.toml b/examples/general/Cargo.toml
|
||||
index 9f0fe32d..5b52f02f 100644
|
||||
--- a/examples/general/Cargo.toml
|
||||
+++ b/examples/general/Cargo.toml
|
||||
@@ -29,14 +29,14 @@ wrong_serialize_struct_arg = { path = "wrong_serialize_struct_arg", features = [
|
||||
"rlib",
|
||||
] }
|
||||
|
||||
-dylint_linting = { path = "../../utils/linting" }
|
||||
+dylint_linting = "4.0.0"
|
||||
|
||||
[package.metadata.rust-analyzer]
|
||||
rustc_private = true
|
||||
|
||||
[workspace]
|
||||
members = ["*"]
|
||||
-exclude = [".cargo", "src"]
|
||||
+exclude = [".cargo", "src", ".cargo-home"]
|
||||
|
||||
[workspace.dependencies]
|
||||
bitflags = "2.8"
|
||||
diff --git a/examples/general/abs_home_path/Cargo.toml b/examples/general/abs_home_path/Cargo.toml
|
||||
index fc34b48d..f4c34a18 100644
|
||||
--- a/examples/general/abs_home_path/Cargo.toml
|
||||
+++ b/examples/general/abs_home_path/Cargo.toml
|
||||
@@ -13,11 +13,11 @@ crate-type = ["cdylib", "rlib"]
|
||||
clippy_utils = { workspace = true }
|
||||
once_cell = { workspace = true }
|
||||
|
||||
-dylint_internal = { path = "../../../internal", features = ["home"] }
|
||||
-dylint_linting = { path = "../../../utils/linting" }
|
||||
+dylint_internal = { version = "4.0.0", features = ["home"] }
|
||||
+dylint_linting = "4.0.0"
|
||||
|
||||
[dev-dependencies]
|
||||
-dylint_testing = { path = "../../../utils/testing" }
|
||||
+dylint_testing = "4.0.0"
|
||||
|
||||
[features]
|
||||
rlib = ["dylint_linting/constituent"]
|
||||
diff --git a/examples/general/await_holding_span_guard/Cargo.toml b/examples/general/await_holding_span_guard/Cargo.toml
|
||||
index b4008cb9..74e678cc 100644
|
||||
--- a/examples/general/await_holding_span_guard/Cargo.toml
|
||||
+++ b/examples/general/await_holding_span_guard/Cargo.toml
|
||||
@@ -16,12 +16,12 @@ path = "ui/main.rs"
|
||||
[dependencies]
|
||||
clippy_utils = { workspace = true }
|
||||
|
||||
-dylint_linting = { path = "../../../utils/linting" }
|
||||
+dylint_linting = "4.0.0"
|
||||
|
||||
[dev-dependencies]
|
||||
tracing = { workspace = true }
|
||||
|
||||
-dylint_testing = { path = "../../../utils/testing" }
|
||||
+dylint_testing = "4.0.0"
|
||||
|
||||
[features]
|
||||
rlib = ["dylint_linting/constituent"]
|
||||
diff --git a/examples/general/basic_dead_store/Cargo.toml b/examples/general/basic_dead_store/Cargo.toml
|
||||
index d5733fcc..d6ca2a09 100644
|
||||
--- a/examples/general/basic_dead_store/Cargo.toml
|
||||
+++ b/examples/general/basic_dead_store/Cargo.toml
|
||||
@@ -11,10 +11,10 @@ crate-type = ["cdylib", "rlib"]
|
||||
|
||||
[dependencies]
|
||||
clippy_utils = { workspace = true }
|
||||
-dylint_linting = { path = "../../../utils/linting" }
|
||||
+dylint_linting = "4.0.0"
|
||||
|
||||
[dev-dependencies]
|
||||
-dylint_testing = { path = "../../../utils/testing" }
|
||||
+dylint_testing = "4.0.0"
|
||||
|
||||
[features]
|
||||
rlib = ["dylint_linting/constituent"]
|
||||
diff --git a/examples/general/crate_wide_allow/Cargo.toml b/examples/general/crate_wide_allow/Cargo.toml
|
||||
index 5f44de54..f8fa8586 100644
|
||||
--- a/examples/general/crate_wide_allow/Cargo.toml
|
||||
+++ b/examples/general/crate_wide_allow/Cargo.toml
|
||||
@@ -16,15 +16,15 @@ path = "ui/main.rs"
|
||||
[dependencies]
|
||||
clippy_utils = { workspace = true }
|
||||
|
||||
-dylint_linting = { path = "../../../utils/linting" }
|
||||
+dylint_linting = "4.0.0"
|
||||
|
||||
[target.'cfg(not(no_dev_dependencies))'.dev-dependencies]
|
||||
assert_cmd = "2.0"
|
||||
cargo_metadata = "0.18"
|
||||
predicates = "3.1"
|
||||
|
||||
-dylint_internal = { path = "../../../internal" }
|
||||
-dylint_testing = { path = "../../../utils/testing" }
|
||||
+dylint_internal = "4.0.0"
|
||||
+dylint_testing = "4.0.0"
|
||||
|
||||
[features]
|
||||
rlib = ["dylint_linting/constituent"]
|
||||
diff --git a/examples/general/incorrect_matches_operation/Cargo.toml b/examples/general/incorrect_matches_operation/Cargo.toml
|
||||
index 3f1f4690..4906e0b4 100644
|
||||
--- a/examples/general/incorrect_matches_operation/Cargo.toml
|
||||
+++ b/examples/general/incorrect_matches_operation/Cargo.toml
|
||||
@@ -11,10 +11,10 @@ crate-type = ["cdylib", "rlib"]
|
||||
|
||||
[dependencies]
|
||||
clippy_utils = { workspace = true }
|
||||
-dylint_linting = { path = "../../../utils/linting" }
|
||||
+dylint_linting = "4.0.0"
|
||||
|
||||
[dev-dependencies]
|
||||
-dylint_testing = { path = "../../../utils/testing" }
|
||||
+dylint_testing = "4.0.0"
|
||||
|
||||
[features]
|
||||
rlib = ["dylint_linting/constituent"]
|
||||
diff --git a/examples/general/non_local_effect_before_error_return/Cargo.toml b/examples/general/non_local_effect_before_error_return/Cargo.toml
|
||||
index 8b6fc373..6c82c2ad 100644
|
||||
--- a/examples/general/non_local_effect_before_error_return/Cargo.toml
|
||||
+++ b/examples/general/non_local_effect_before_error_return/Cargo.toml
|
||||
@@ -21,14 +21,14 @@ path = "ui_public_only/main.rs"
|
||||
clippy_utils = { workspace = true }
|
||||
serde = { workspace = true, features = ["derive"] }
|
||||
|
||||
-dylint_linting = { path = "../../../utils/linting" }
|
||||
+dylint_linting = "4.0.0"
|
||||
|
||||
[dev-dependencies]
|
||||
bitflags = { workspace = true }
|
||||
derivative = { workspace = true }
|
||||
once_cell = { workspace = true }
|
||||
|
||||
-dylint_testing = { path = "../../../utils/testing" }
|
||||
+dylint_testing = "4.0.0"
|
||||
|
||||
[features]
|
||||
rlib = ["dylint_linting/constituent"]
|
||||
diff --git a/examples/general/non_thread_safe_call_in_test/Cargo.toml b/examples/general/non_thread_safe_call_in_test/Cargo.toml
|
||||
index 9f74b291..f26646e1 100644
|
||||
--- a/examples/general/non_thread_safe_call_in_test/Cargo.toml
|
||||
+++ b/examples/general/non_thread_safe_call_in_test/Cargo.toml
|
||||
@@ -24,11 +24,11 @@ path = "ui/set_current_dir.rs"
|
||||
[dependencies]
|
||||
clippy_utils = { workspace = true }
|
||||
|
||||
-dylint_internal = { path = "../../../internal" }
|
||||
-dylint_linting = { path = "../../../utils/linting" }
|
||||
+dylint_internal = "4.0.0"
|
||||
+dylint_linting = "4.0.0"
|
||||
|
||||
[dev-dependencies]
|
||||
-dylint_testing = { path = "../../../utils/testing" }
|
||||
+dylint_testing = "4.0.0"
|
||||
|
||||
[features]
|
||||
rlib = ["dylint_linting/constituent"]
|
||||
diff --git a/examples/general/wrong_serialize_struct_arg/Cargo.toml b/examples/general/wrong_serialize_struct_arg/Cargo.toml
|
||||
index 9b567c49..b68e0485 100644
|
||||
--- a/examples/general/wrong_serialize_struct_arg/Cargo.toml
|
||||
+++ b/examples/general/wrong_serialize_struct_arg/Cargo.toml
|
||||
@@ -16,14 +16,14 @@ path = "ui/main.rs"
|
||||
[dependencies]
|
||||
clippy_utils = { workspace = true }
|
||||
|
||||
-dylint_internal = { path = "../../../internal" }
|
||||
-dylint_linting = { path = "../../../utils/linting" }
|
||||
+dylint_internal = "4.0.0"
|
||||
+dylint_linting = "4.0.0"
|
||||
|
||||
[dev-dependencies]
|
||||
serde = { workspace = true }
|
||||
serde_json = { workspace = true }
|
||||
|
||||
-dylint_testing = { path = "../../../utils/testing" }
|
||||
+dylint_testing = "4.0.0"
|
||||
|
||||
[features]
|
||||
rlib = ["dylint_linting/constituent"]
|
||||
67
lib/cargo-dylint-general.nix
Normal file
67
lib/cargo-dylint-general.nix
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
pkgs,
|
||||
craneLib,
|
||||
|
||||
pkg-config,
|
||||
openssl,
|
||||
util-linux,
|
||||
|
||||
cargo-dylint,
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "cargo-dylint-general";
|
||||
version = "4.0.0";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "trailofbits";
|
||||
repo = "dylint";
|
||||
tag = "v${version}";
|
||||
sha256 = "sha256-Z8uuewp7Buoadayc0oTafmfvwNT36KukWKiHxL/mQfI=";
|
||||
};
|
||||
|
||||
commonArgs = {
|
||||
inherit pname version;
|
||||
|
||||
src = src;
|
||||
|
||||
patches = [ ./cargo-dylint-general-ignore-home.patch ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
buildInputs = [ openssl ];
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
cargo-dylint
|
||||
];
|
||||
|
||||
cargoVendorDir = craneLib.vendorCargoDeps { cargoLock = ./cargo-dylint-general-Cargo.lock; };
|
||||
|
||||
preBuild = ''
|
||||
cd examples/general
|
||||
mkdir -p .cargo
|
||||
'';
|
||||
|
||||
|
||||
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER = "dylint-link";
|
||||
|
||||
cargoExtraArgs = "-p crate_wide_allow";
|
||||
|
||||
RUSTUP_TOOLCHAIN = "nightly-2025-01-09";
|
||||
};
|
||||
in
|
||||
|
||||
craneLib.buildPackage (
|
||||
commonArgs
|
||||
// {
|
||||
cargoArtifacts = null;
|
||||
|
||||
doCheck = false;
|
||||
|
||||
postFixup = ''
|
||||
${util-linux}/bin/rename .so @$RUSTUP_TOOLCHAIN.so $out/lib/*.so
|
||||
'';
|
||||
|
||||
doNotRemoveReferencesToRustToolchain = true;
|
||||
}
|
||||
)
|
||||
82
lib/cargo-dylint-patch-rustup.patch
Normal file
82
lib/cargo-dylint-patch-rustup.patch
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
diff --git a/dylint/build.rs b/dylint/build.rs
|
||||
index f96b676f..297d2dcf 100644
|
||||
--- a/dylint/build.rs
|
||||
+++ b/dylint/build.rs
|
||||
@@ -31,7 +31,7 @@ fn write_dylint_driver_manifest_dir() {
|
||||
{
|
||||
"None".to_owned()
|
||||
} else {
|
||||
- let path_buf = dylint_manifest_dir.join("../driver");
|
||||
+ let path_buf = Path::new("@DRIVER_DIR@");
|
||||
|
||||
// smoelius: Ensure the path exists at build time.
|
||||
assert!(path_buf.is_dir(), "{path_buf:?} is not a directory");
|
||||
diff --git a/internal/src/cargo.rs b/internal/src/cargo.rs
|
||||
index 8532d68c..4e7f715c 100644
|
||||
--- a/internal/src/cargo.rs
|
||||
+++ b/internal/src/cargo.rs
|
||||
@@ -14,16 +14,7 @@ use std::{
|
||||
pub use home::cargo_home;
|
||||
|
||||
static STABLE_CARGO: Lazy<PathBuf> = Lazy::new(|| {
|
||||
- let mut command = Command::new("rustup");
|
||||
- // smoelius: Rustup 1.27.1 doesn't properly handle the case where the toolchain is specified via
|
||||
- // both the `RUSTUP_TOOLCHAIN` environment variable and the command line (e.g., `+stable`). This
|
||||
- // bug is fixed in Rustup's `master` branch, though.
|
||||
- command.env_remove("RUSTUP_TOOLCHAIN");
|
||||
- command.args(["+stable", "which", "cargo"]);
|
||||
- let output = command.logged_output(true).unwrap();
|
||||
- assert!(output.status.success());
|
||||
- let stdout = String::from_utf8(output.stdout).unwrap();
|
||||
- PathBuf::from(stdout.trim_end())
|
||||
+ PathBuf::from("@STABLE_CARGO@")
|
||||
});
|
||||
|
||||
bitflags! {
|
||||
diff --git a/internal/src/rustup.rs b/internal/src/rustup.rs
|
||||
index fb72a3fa..9b320670 100644
|
||||
--- a/internal/src/rustup.rs
|
||||
+++ b/internal/src/rustup.rs
|
||||
@@ -15,7 +15,7 @@ impl SanitizeEnvironment for Command {
|
||||
fn sanitize_environment(&mut self) -> &mut Self {
|
||||
self.env_remove(env::CARGO);
|
||||
self.env_remove(env::RUSTC);
|
||||
- self.env_remove(env::RUSTUP_TOOLCHAIN);
|
||||
+ // self.env_remove(env::RUSTUP_TOOLCHAIN);
|
||||
self
|
||||
}
|
||||
}
|
||||
@@ -23,31 +23,11 @@ impl SanitizeEnvironment for Command {
|
||||
// smoelius: Consider carefully whether you need to call this function! In most cases, the toolchain
|
||||
// you want is not the one returned by rustup.
|
||||
pub fn active_toolchain(path: &Path) -> Result<String> {
|
||||
- let output = Command::new("rustup")
|
||||
- .sanitize_environment()
|
||||
- .current_dir(path)
|
||||
- .args(["show", "active-toolchain"])
|
||||
- .logged_output(true)?;
|
||||
- let stdout = std::str::from_utf8(&output.stdout)?;
|
||||
- stdout
|
||||
- .split_once(' ')
|
||||
- .map(|(s, _)| s.to_owned())
|
||||
- .ok_or_else(|| anyhow!("Could not determine active toolchain"))
|
||||
+ Ok(String::from("@RUST_TOOLCHAIN@"))
|
||||
}
|
||||
|
||||
pub fn toolchain_path(path: &Path) -> Result<PathBuf> {
|
||||
- let output = Command::new("rustup")
|
||||
- .sanitize_environment()
|
||||
- .current_dir(path)
|
||||
- .args(["which", "rustc"])
|
||||
- .logged_output(true)?;
|
||||
- let stdout = std::str::from_utf8(&output.stdout)?;
|
||||
- let path = PathBuf::from(stdout);
|
||||
- // smoelius: `path` should end with `/bin/rustc`.
|
||||
- path.ancestors()
|
||||
- .nth(2)
|
||||
- .map(Into::into)
|
||||
- .ok_or_else(|| anyhow!("Could not get ancestor"))
|
||||
+ Ok(PathBuf::from("@RUST_TOOLCHAIN_PATH@"))
|
||||
}
|
||||
|
||||
pub fn is_rustc<T: AsRef<OsStr> + ?Sized>(arg: &T) -> bool {
|
||||
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
pkg-config,
|
||||
openssl,
|
||||
|
||||
cargo-dylint-driver,
|
||||
}:
|
||||
|
||||
let
|
||||
|
|
@ -16,24 +18,44 @@ let
|
|||
tag = "v${version}";
|
||||
sha256 = "sha256-Z8uuewp7Buoadayc0oTafmfvwNT36KukWKiHxL/mQfI=";
|
||||
};
|
||||
|
||||
commonArgs = {
|
||||
inherit pname version src;
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
RUSTUP_TOOLCHAIN = "nightly-2025-01-09";
|
||||
|
||||
doCheck = false;
|
||||
};
|
||||
cargoArtifacts = craneLib.buildDepsOnly commonArgs;
|
||||
in
|
||||
|
||||
craneLib.buildPackage {
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
src
|
||||
;
|
||||
craneLib.buildPackage (
|
||||
commonArgs
|
||||
// {
|
||||
inherit cargoArtifacts;
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
];
|
||||
patches = [ ./cargo-dylint-patch-rustup.patch ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
postPatch = ''
|
||||
substituteInPlace dylint/build.rs \
|
||||
--replace-fail @DRIVER_DIR@ ${src}/driver
|
||||
|
||||
RUSTUP_TOOLCHAIN = craneLib.rustc.version;
|
||||
substituteInPlace internal/src/cargo.rs \
|
||||
--replace-fail @STABLE_CARGO@ ${craneLib.cargo}/bin/cargo
|
||||
|
||||
doCheck = false;
|
||||
}
|
||||
substituteInPlace internal/src/rustup.rs \
|
||||
--replace-fail @RUST_TOOLCHAIN@ $RUSTUP_TOOLCHAIN \
|
||||
--replace-fail @RUST_TOOLCHAIN_PATH@ ${craneLib.rustc}
|
||||
'';
|
||||
|
||||
doNotRemoveReferencesToRustToolchain = true;
|
||||
}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ let
|
|||
callPackage = pkgs.lib.callPackageWith (pkgs // packages // { inherit inputs craneLib; });
|
||||
packages = {
|
||||
cargo-dylint = callPackage ./cargo-dylint.nix { };
|
||||
cargo-dylint-driver = callPackage ./cargo-dylint-driver.nix { };
|
||||
cargo-dylint-general = callPackage ./cargo-dylint-general.nix { };
|
||||
};
|
||||
|
||||
in
|
||||
|
|
|
|||
|
|
@ -1,2 +1,3 @@
|
|||
[toolchain]
|
||||
channel = "nightly-2025-03-01"
|
||||
components = ["rust-src", "rustc-dev", "llvm-tools-preview"]
|
||||
|
|
|
|||
7
tests/example_lint_target/Cargo.lock
generated
Normal file
7
tests/example_lint_target/Cargo.lock
generated
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "example_lint_target"
|
||||
version = "0.1.0"
|
||||
6
tests/example_lint_target/Cargo.toml
Normal file
6
tests/example_lint_target/Cargo.toml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
[package]
|
||||
name = "example_lint_target"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
16
tests/example_lint_target/src/lib.rs
Normal file
16
tests/example_lint_target/src/lib.rs
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#![allow(unused)]
|
||||
|
||||
pub fn add(left: u64, right: u64) -> u64 {
|
||||
left + right
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
let result = add(2, 2);
|
||||
assert_eq!(result, 4);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue