threads / discuss / 64746

Improved Rust hunk headers

Subject: Improved Rust hunk headers

## tl;dr

2 messages between Jan 8, 2026 and Jan 8, 2026.

replies: 1people: 2as markdown or json

Benno Lossin· Jan 8, 2026, 12:38 UTC · lore
Hey everyone,

Recently, while looking at a Rust patch [1] for the Linux kernel, I had an idea to improve the hunk header for Rust code. The patch's hunk header is the function defined above the addition. To me it doesn't provide much value in giving context; it has been a while since I last looked at that file. It would be much more useful in this case to show the context `pub unsafe trait FromBytes {` instead. This is because the function that's being added is added to that trait.

In the general case it still is useful to show the function context when the contents of a function are changed. Ideally, it would be possible to show both the `impl` block and the function signature.

I have no knowledge of the inner workings of git, so this might be a tall ask. But would it be possible to implement having multi-line hunk headers and have a more advanced selection algorithm? AFAIK at the moment a regex is used to extract the header, I think that would still be sufficient for this case, if the `impl` block header is searched for after the function signature.

My current solution to reviewing a patch like this is either opening the file and scrolling to the change location. This isn't possible if earlier patches in a series already changed the file. In that case the only option is to create a new worktree and apply the patch series. It would be great if I didn't have to do this for simple things.

Cheers, Benno

[1]: https://lore.kernel.org/all/20251216-transmute-v2-1-b23e5277ad02@google.com/
D. Ben Knoble· Jan 8, 2026, 17:29 UTC · re: Benno Lossin · lore

Re: Improved Rust hunk headers

On Thu, Jan 8, 2026 at 10:34 AM Benno Lossin <lossin@kernel.org> wrote:
Show 21 quoted lines
>
> Hey everyone,
>
> Recently, while looking at a Rust patch [1] for the Linux kernel, I had
> an idea to improve the hunk header for Rust code. The patch's hunk
> header is the function defined above the addition. To me it doesn't
> provide much value in giving context; it has been a while since I last
> looked at that file. It would be much more useful in this case to show
> the context `pub unsafe trait FromBytes {` instead. This is because the
> function that's being added is added to that trait.
>
> In the general case it still is useful to show the function context when
> the contents of a function are changed. Ideally, it would be possible to
> show both the `impl` block and the function signature.
>
> I have no knowledge of the inner workings of git, so this might be a
> tall ask. But would it be possible to implement having multi-line hunk
> headers and have a more advanced selection algorithm? AFAIK at the
> moment a regex is used to extract the header, I think that would still
> be sufficient for this case, if the `impl` block header is searched for
> after the function signature.

I wonder if an empty hunk (that is, two adjacent headers) would break anything? Just thinking aloud.

-- 
D. Ben Knoble

← back to recent threads