From: Gary Guo <gary@garyguo.net>
To: Miguel Ojeda <ojeda@kernel.org>
Cc: "Alex Gaynor" <alex.gaynor@gmail.com>,
"Wedson Almeida Filho" <wedsonaf@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <benno.lossin@proton.me>,
"Andreas Hindborg" <a.hindborg@samsung.com>,
"Alice Ryhl" <aliceryhl@google.com>,
"Trevor Gross" <tmgross@umich.edu>,
rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org,
patches@lists.linux.dev
Subject: Re: [PATCH 00/19] rust: lint improvements
Date: Sun, 15 Sep 2024 00:19:46 +0100 [thread overview]
Message-ID: <20240915001946.2cf237cc.gary@garyguo.net> (raw)
In-Reply-To: <20240904204347.168520-1-ojeda@kernel.org>
On Wed, 4 Sep 2024 22:43:28 +0200
Miguel Ojeda <ojeda@kernel.org> wrote:
> Hi all,
>
> This is a series that contains a series of lint-related things:
>
> - Cleanups and other improvements and fixes, including removing `allow`s that
> are not needed anymore for different reasons and a workaround for
> `dbg_macro` detection.
>
> - The enablement of some safety lints so that the toolchain enforces that we
> write `// SAFETY` comments and `# Safety` sections properly.
>
> - The addition of `.clippy.toml`, which allows us to take advantage of a few
> configuration options.
>
> - Start using the new `#[expect(...)]` feature and add documentation on it as
> well as lints in general.
>
> Overall, this should improve the quality of the code and documentation as well
> as reduce the time needed in reviews.
>
> I want to mention Trevor's nice work on lints from a while ago [1]. I think we
> should still do something like that: discuss which lints we would like to have
> one-by-one and start enabling them (and perhaps have a file like Trevor proposed
> etc.).
>
> For the moment, though, I am sending these, since we would like to have at least
> the safety-related ones enabled soon [2]: now that more code and developers
> are joining, it sounds like a good time to start enforcing it -- it should make
> new Rust kernel developers aware of the need of writing them, which has proven
> to be a common request from reviewers.
>
> If needed, the series can be applied partially or split, but most of it should
> be fairly uncontroversial.
>
> Link: https://github.com/Rust-for-Linux/linux/pull/1025 [1]
> Link: https://lore.kernel.org/rust-for-linux/CD29DF8F-7FF3-466F-9724-BC92C14A68BD@collabora.com/ [2]
Built with clippy locally and it's all clean.
Tested-by: Gary Guo <gary@garyguo.net>
Apart from one `#[]`/`#![]` modification - which I think is fine as
long as it's intentional, everything LGTM.
Reviewed-by: Gary Guo <gary@garyguo.net>
>
> Miguel Ojeda (19):
> rust: workqueue: remove unneeded ``#[allow(clippy::new_ret_no_self)]`
> rust: sort global Rust flags
> rust: types: avoid repetition in `{As,From}Bytes` impls
> rust: enable `clippy::undocumented_unsafe_blocks` lint
> rust: enable `clippy::unnecessary_safety_comment` lint
> rust: enable `clippy::unnecessary_safety_doc` lint
> rust: enable `clippy::ignored_unit_patterns` lint
> rust: enable `rustdoc::unescaped_backticks` lint
> rust: init: remove unneeded `#[allow(clippy::disallowed_names)]`
> rust: sync: remove unneeded
> `#[allow(clippy::non_send_fields_in_send_ty)]`
> rust: introduce `.clippy.toml`
> rust: replace `clippy::dbg_macro` with `disallowed_macros`
> rust: rbtree: fix `SAFETY` comments that should be `# Safety` sections
> rust: provide proper code documentation titles
> rust: enable Clippy's `check-private-items`
> Documentation: rust: add coding guidelines on lints
> rust: start using the `#[expect(...)]` attribute
> Documentation: rust: discuss `#[expect(...)]` in the guidelines
> rust: std_vendor: simplify `{ .. macro! .. }` with inner attributes
>
> .clippy.toml | 9 ++
> .gitignore | 1 +
> Documentation/rust/coding-guidelines.rst | 139 +++++++++++++++++++++++
> MAINTAINERS | 1 +
> Makefile | 15 ++-
> rust/Makefile | 5 +-
> rust/bindings/lib.rs | 1 +
> rust/kernel/alloc/allocator.rs | 2 +
> rust/kernel/error.rs | 11 +-
> rust/kernel/init.rs | 30 ++---
> rust/kernel/init/__internal.rs | 11 +-
> rust/kernel/init/macros.rs | 18 ++-
> rust/kernel/ioctl.rs | 2 +-
> rust/kernel/lib.rs | 1 +
> rust/kernel/list.rs | 1 +
> rust/kernel/list/arc_field.rs | 2 +-
> rust/kernel/print.rs | 5 +-
> rust/kernel/rbtree.rs | 9 +-
> rust/kernel/std_vendor.rs | 16 ++-
> rust/kernel/str.rs | 7 +-
> rust/kernel/sync/arc.rs | 2 +-
> rust/kernel/sync/arc/std_vendor.rs | 2 +
> rust/kernel/sync/condvar.rs | 1 -
> rust/kernel/sync/lock.rs | 6 +-
> rust/kernel/types.rs | 74 ++++++------
> rust/kernel/workqueue.rs | 9 +-
> rust/uapi/lib.rs | 1 +
> samples/rust/rust_print.rs | 1 +
> scripts/Makefile.build | 2 +-
> 29 files changed, 293 insertions(+), 91 deletions(-)
> create mode 100644 .clippy.toml
>
>
> base-commit: 68d3b6aa08708bb3907c2c13eaf4b3ccf4805160
> --
> 2.46.0
next prev parent reply other threads:[~2024-09-14 23:19 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-04 20:43 [PATCH 00/19] rust: lint improvements Miguel Ojeda
2024-09-04 20:43 ` [PATCH 01/19] rust: workqueue: remove unneeded ``#[allow(clippy::new_ret_no_self)]` Miguel Ojeda
2024-09-05 7:57 ` Alice Ryhl
2024-09-29 4:17 ` Trevor Gross
2024-09-04 20:43 ` [PATCH 02/19] rust: sort global Rust flags Miguel Ojeda
2024-09-05 7:57 ` Alice Ryhl
2024-09-29 4:18 ` Trevor Gross
2024-09-04 20:43 ` [PATCH 03/19] rust: types: avoid repetition in `{As,From}Bytes` impls Miguel Ojeda
2024-09-05 7:58 ` Alice Ryhl
2024-09-29 4:20 ` Trevor Gross
2024-09-04 20:43 ` [PATCH 04/19] rust: enable `clippy::undocumented_unsafe_blocks` lint Miguel Ojeda
2024-09-05 8:04 ` Alice Ryhl
2024-09-29 4:33 ` Trevor Gross
2024-10-03 18:45 ` Miguel Ojeda
2024-09-04 20:43 ` [PATCH 05/19] rust: enable `clippy::unnecessary_safety_comment` lint Miguel Ojeda
2024-09-05 8:07 ` Alice Ryhl
2024-09-08 7:38 ` Vincenzo Palazzo
2024-09-29 4:35 ` Trevor Gross
2024-09-04 20:43 ` [PATCH 06/19] rust: enable `clippy::unnecessary_safety_doc` lint Miguel Ojeda
2024-09-05 8:07 ` Alice Ryhl
2024-09-29 4:35 ` Trevor Gross
2024-09-04 20:43 ` [PATCH 07/19] rust: enable `clippy::ignored_unit_patterns` lint Miguel Ojeda
2024-09-05 8:08 ` Alice Ryhl
2024-09-29 4:37 ` Trevor Gross
2024-09-04 20:43 ` [PATCH 08/19] rust: enable `rustdoc::unescaped_backticks` lint Miguel Ojeda
2024-09-05 8:09 ` Alice Ryhl
2024-09-29 4:40 ` Trevor Gross
2024-10-01 17:06 ` Miguel Ojeda
2024-09-04 20:43 ` [PATCH 09/19] rust: init: remove unneeded `#[allow(clippy::disallowed_names)]` Miguel Ojeda
2024-09-05 8:10 ` Alice Ryhl
2024-09-29 4:41 ` Trevor Gross
2024-09-04 20:43 ` [PATCH 10/19] rust: sync: remove unneeded `#[allow(clippy::non_send_fields_in_send_ty)]` Miguel Ojeda
2024-09-05 8:10 ` Alice Ryhl
2024-09-29 4:41 ` Trevor Gross
2024-09-04 20:43 ` [PATCH 11/19] rust: introduce `.clippy.toml` Miguel Ojeda
2024-09-05 8:12 ` Alice Ryhl
2024-09-29 4:48 ` Trevor Gross
2024-09-04 20:43 ` [PATCH 12/19] rust: replace `clippy::dbg_macro` with `disallowed_macros` Miguel Ojeda
2024-09-05 5:20 ` Geert Stappers
2024-09-14 23:10 ` Gary Guo
2024-10-03 18:43 ` Miguel Ojeda
2024-09-04 20:43 ` [PATCH 13/19] rust: rbtree: fix `SAFETY` comments that should be `# Safety` sections Miguel Ojeda
2024-09-05 8:12 ` Alice Ryhl
2024-09-29 4:51 ` Trevor Gross
2024-09-04 20:43 ` [PATCH 14/19] rust: provide proper code documentation titles Miguel Ojeda
2024-09-05 8:13 ` Alice Ryhl
2024-09-29 4:56 ` Trevor Gross
2024-10-03 18:44 ` Miguel Ojeda
2024-09-04 20:43 ` [PATCH 15/19] rust: enable Clippy's `check-private-items` Miguel Ojeda
2024-09-05 8:14 ` Alice Ryhl
2024-09-29 4:57 ` Trevor Gross
2024-09-04 20:43 ` [PATCH 16/19] Documentation: rust: add coding guidelines on lints Miguel Ojeda
2024-09-05 8:15 ` Alice Ryhl
2024-09-05 9:45 ` Miguel Ojeda
2024-09-07 22:22 ` comex
2024-10-01 17:07 ` Miguel Ojeda
2024-10-03 20:00 ` Miguel Ojeda
2024-09-29 5:03 ` Trevor Gross
2024-10-03 18:47 ` Miguel Ojeda
2024-09-04 20:43 ` [PATCH 17/19] rust: start using the `#[expect(...)]` attribute Miguel Ojeda
2024-09-05 8:17 ` Alice Ryhl
2024-09-29 5:05 ` Trevor Gross
2024-09-04 20:43 ` [PATCH 18/19] Documentation: rust: discuss `#[expect(...)]` in the guidelines Miguel Ojeda
2024-09-29 5:10 ` Trevor Gross
2024-10-01 17:11 ` Miguel Ojeda
2024-09-04 20:43 ` [PATCH 19/19] rust: std_vendor: simplify `{ .. macro! .. }` with inner attributes Miguel Ojeda
2024-09-05 8:19 ` Alice Ryhl
2024-09-05 9:27 ` Miguel Ojeda
2024-09-05 9:41 ` Alice Ryhl
2024-09-08 8:50 ` Vincenzo Palazzo
2024-09-14 23:19 ` Gary Guo [this message]
2024-10-03 21:51 ` [PATCH 00/19] rust: lint improvements Miguel Ojeda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240915001946.2cf237cc.gary@garyguo.net \
--to=gary@garyguo.net \
--cc=a.hindborg@samsung.com \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ojeda@kernel.org \
--cc=patches@lists.linux.dev \
--cc=rust-for-linux@vger.kernel.org \
--cc=tmgross@umich.edu \
--cc=wedsonaf@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.