All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Vincenzo Palazzo" <vincenzopalazzodev@gmail.com>
To: "Miguel Ojeda" <ojeda@kernel.org>,
	"Wedson Almeida Filho" <wedsonaf@gmail.com>,
	"Alex Gaynor" <alex.gaynor@gmail.com>
Cc: "Boqun Feng" <boqun.feng@gmail.com>,
	"Gary Guo" <gary@garyguo.net>,
	"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>,
	rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org,
	patches@lists.linux.dev, "Jonathan Corbet" <corbet@lwn.net>,
	workflows@vger.kernel.org, linux-doc@vger.kernel.org
Subject: Re: [PATCH 3/3] rust: upgrade to Rust 1.73.0
Date: Mon, 09 Oct 2023 10:49:51 +0200	[thread overview]
Message-ID: <CW3S2LWWUVG7.2STK9HS3VBQFR@gmail.com> (raw)
In-Reply-To: <20231005210556.466856-4-ojeda@kernel.org>

> The vast majority of changes are due to our `alloc` fork being upgraded
> at once.

Ah this is annoying sometimes :/

>
> There are two kinds of changes to be aware of: the ones coming from
> upstream, which we should follow as closely as possible, and the updates
> needed in our added fallible APIs to keep them matching the newer
> infallible APIs coming from upstream.
>
> Instead of taking a look at the diff of this patch, an alternative
> approach is reviewing a diff of the changes between upstream `alloc` and
> the kernel's. This allows to easily inspect the kernel additions only,
> especially to check if the fallible methods we already have still match
> the infallible ones in the new version coming from upstream.
>
> Another approach is reviewing the changes introduced in the additions in
> the kernel fork between the two versions. This is useful to spot
> potentially unintended changes to our additions.
>
> To apply these approaches, one may follow steps similar to the following
> to generate a pair of patches that show the differences between upstream
> Rust and the kernel (for the subset of `alloc` we use) before and after
> applying this patch:
>
>     # Get the difference with respect to the old version.
>     git -C rust checkout $(linux/scripts/min-tool-version.sh rustc)
>     git -C linux ls-tree -r --name-only HEAD -- rust/alloc |
>         cut -d/ -f3- |
>         grep -Fv README.md |
>         xargs -IPATH cp rust/library/alloc/src/PATH linux/rust/alloc/PATH
>     git -C linux diff --patch-with-stat --summary -R > old.patch
>     git -C linux restore rust/alloc
>
>     # Apply this patch.
>     git -C linux am rust-upgrade.patch
>
>     # Get the difference with respect to the new version.
>     git -C rust checkout $(linux/scripts/min-tool-version.sh rustc)
>     git -C linux ls-tree -r --name-only HEAD -- rust/alloc |
>         cut -d/ -f3- |
>         grep -Fv README.md |
>         xargs -IPATH cp rust/library/alloc/src/PATH linux/rust/alloc/PATH
>     git -C linux diff --patch-with-stat --summary -R > new.patch
>     git -C linux restore rust/alloc
>
> Now one may check the `new.patch` to take a look at the additions (first
> approach) or at the difference between those two patches (second
> approach). For the latter, a side-by-side tool is recommended.
>
> Link: https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-1730-2023-10-05 [1]
> Link: https://rust-for-linux.com/rust-version-policy [2]
> Link: https://github.com/Rust-for-Linux/linux/issues/2 [3]
> Link: https://github.com/rust-lang/compiler-team/issues/596 [4]
> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
> ---
>  Documentation/process/changes.rst |  2 +-
>  rust/alloc/alloc.rs               | 22 --------------
>  rust/alloc/boxed.rs               | 48 ++++++++++++++++++++-----------
>  rust/alloc/lib.rs                 |  5 ++--
>  rust/alloc/raw_vec.rs             | 30 ++++++++++++-------
>  rust/alloc/vec/mod.rs             |  4 +--
>  rust/alloc/vec/spec_extend.rs     |  8 +++---
>  rust/compiler_builtins.rs         |  1 +
>  scripts/min-tool-version.sh       |  2 +-
>  9 files changed, 63 insertions(+), 59 deletions(-)
>
> diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst
> index 731cc104c56f..bb96ca0f774b 100644
> --- a/Documentation/process/changes.rst

Reviewed-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>

  parent reply	other threads:[~2023-10-09  8:50 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-05 21:05 [PATCH 0/3] Rust 1.73.0 upgrade Miguel Ojeda
2023-10-05 21:05 ` [PATCH 1/3] rust: task: remove redundant explicit link Miguel Ojeda
2023-10-05 21:29   ` Martin Rodriguez Reboredo
2023-10-06  8:17   ` Finn Behrens
2023-10-06  8:51   ` Alice Ryhl
2023-10-09  8:48   ` Vincenzo Palazzo
2023-10-05 21:05 ` [PATCH 2/3] rust: print: use explicit link in documentation Miguel Ojeda
2023-10-05 21:30   ` Martin Rodriguez Reboredo
2023-10-06  8:14   ` Finn Behrens
2023-10-06  8:52   ` Alice Ryhl
2023-10-09  8:48   ` Vincenzo Palazzo
2023-10-05 21:05 ` [PATCH 3/3] rust: upgrade to Rust 1.73.0 Miguel Ojeda
2023-10-05 21:30   ` Martin Rodriguez Reboredo
2023-10-06  9:08   ` Alice Ryhl
2023-10-09  8:49   ` Vincenzo Palazzo [this message]
2023-10-15 19:35 ` [PATCH 0/3] Rust 1.73.0 upgrade 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=CW3S2LWWUVG7.2STK9HS3VBQFR@gmail.com \
    --to=vincenzopalazzodev@gmail.com \
    --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=corbet@lwn.net \
    --cc=gary@garyguo.net \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ojeda@kernel.org \
    --cc=patches@lists.linux.dev \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=wedsonaf@gmail.com \
    --cc=workflows@vger.kernel.org \
    /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.