]> git.ipfire.org Git - thirdparty/linux.git/commit
Merge patch series "refactor Rust proc macros with `syn`"
authorMiguel Ojeda <ojeda@kernel.org>
Wed, 28 Jan 2026 12:44:42 +0000 (13:44 +0100)
committerMiguel Ojeda <ojeda@kernel.org>
Wed, 28 Jan 2026 12:44:42 +0000 (13:44 +0100)
commita7c013f779530190d0c1e1aa5e7c8a61f0bd479e
treead94f222d67567427984a0424af98078cc60e73d
parent99ba0fa10de0cc0386ea61e6e5068a78a8394060
parent779f6e3e1cef07cb0c1241d483ed364e522bd280
Merge patch series "refactor Rust proc macros with `syn`"

Gary writes:

  "This series converts Rust proc macros that we have to use `syn`,
   and replace the custom `quote!` macro that we have with the vendored
   `quote!` macro. The `pin-init` macros are not converted yet; Benno
   has a work in progress in converting them. They're however converted
   to use `quote` and `proc-macro2` crate so our custom `quote!` macro
   can be removed.

   Overall this improves the robustness of the macros as we have precise
   parsing of the AST rather than relying on heuristics to extract needed
   information from there. This is also a quality-of-life improvement
   to those using language servers (e.g. Rust analyzer) as the span
   information of the proc macros are now preserved which allows the
   "jump-to-definition" feature to work, even when used on completely
   custom macros such as `module!`.

   Miguel gave a very good explanation on why `syn` is a good idea in the
   patch series that introduced it [1], which I shall not repeat here."

The `pin-init` rewrite was merged just before this one.

Link: https://lore.kernel.org/rust-for-linux/20251124151837.2184382-1-ojeda@kernel.org/
Link: https://patch.msgid.link/20260112170919.1888584-1-gary@kernel.org
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>