marker
marker copied to clipboard
An experimental linting interface for Rust. Let's make custom lints a reality
An issue tracking PRs, which might be relevant for the next nightly sync (#345): * https://github.com/rust-lang/rust/pull/117649 * https://github.com/rust-lang/rust/pull/118250 * https://github.com/rust-lang/rust/pull/118256 * https://github.com/rust-lang/rust/pull/118394 * https://github.com/rust-lang/rust/pull/118470 * https://github.com/rust-lang/rust/pull/118527 * https://github.com/rust-lang/rust/pull/118420 * https://github.com/rust-lang/rust/pull/118500...
0.3.0 release was done, but there were a number of problems with it. - The `crates-io` publishing job failed. I wonder why is that. It managed to publish part of...
This PR allows users to check if a given semantic type implements a specific trait. The implementation is inspired by Clippy's implementation of [`clippy_utils::ty::implements_trait`](https://doc.rust-lang.org/nightly/nightly-rustc/clippy_utils/ty/fn.implements_trait.html). It already works for simple traits,...
`cargo build` can be specified to build the dependent crates only. It means we can use the build workspace to both fetch and build the lint crate dlls with a...
This method could look similar to Clippy's [`implements_trait`](https://doc.rust-lang.org/nightly/nightly-rustc/clippy_utils/ty/fn.implements_trait.html) util. Once #93 is resolved, we should have access to the `TyDefId` of traits. Semantic paths are also almost done (#139). This...
### Summary I tried to update my `ToStringOnCowStr` lint to `0.3.0`, but I couldn't make it work seamlessly as I wanted. Here is the code that I have and I...
### Summary Requesting the parent of a given node, is a fundamental feature required to build context-sensitive lints. It's useful to check the context that an expression occurs in or...
Inferred lifetimes, like the `'_` in `Cow(_cow: Cow
### Summary _No response_ ### Reproducer ````rust // /home/matthias/vcs/github/rust_misc_stuff/tests/ui/rfcs/rfc-2565-param-attrs/param-attrs-allowed.rs // check-pass // compile-flags: --cfg something #![deny(unused_mut)] extern "C" { fn ffi( #[allow(unused_mut)] a: i32, #[cfg(something)] b: i32, #[cfg_attr(something, cfg(nothing))] c:...
### Summary _No response_ ### Reproducer ````rust #![feature(diagnostic_namespace)] #[diagnostic::on_unimplemented( on(_Self = "&str"), //~^WARN malformed `on_unimplemented` attribute //~|WARN malformed `on_unimplemented` attribute message = "trait has `{Self}` and `{T}` as params", label...