From: Andreas Hindborg <a.hindborg@kernel.org>
To: "Alice Ryhl" <aliceryhl@google.com>
Cc: "Tamir Duberstein" <tamird@gmail.com>,
"Danilo Krummrich" <dakr@kernel.org>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"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>,
"Trevor Gross" <tmgross@umich.edu>,
"Maíra Canal" <mcanal@igalia.com>,
"Asahi Lina" <lina@asahilina.net>,
rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v10 1/2] rust: types: add `ForeignOwnable::PointedTo`
Date: Mon, 25 Nov 2024 16:33:48 +0100 [thread overview]
Message-ID: <87ed2z2uqr.fsf@kernel.org> (raw)
In-Reply-To: <CAH5fLgjpE7a1jy+W-ZdscrR3D3FrO21iVNd1L-7WY0jGcwQ9mA@mail.gmail.com> (Alice Ryhl's message of "Mon, 25 Nov 2024 15:49:40 +0100")
"Alice Ryhl" <aliceryhl@google.com> writes:
> On Wed, Nov 20, 2024 at 12:48 PM Tamir Duberstein <tamird@gmail.com> wrote:
>>
>> Allow implementors to specify the foreign pointer type; this exposes
>> information about the pointed-to type such as its alignment.
>>
>> This requires the trait to be `unsafe` since it is now possible for
>> implementors to break soundness by returning a misaligned pointer.
>>
>> Encoding the pointer type in the trait (and avoiding pointer casts)
>> allows the compiler to check that implementors return the correct
>> pointer type. This is preferable to directly encoding the alignment in
>> the trait using a constant as the compiler would be unable to check it.
>>
>> Signed-off-by: Tamir Duberstein <tamird@gmail.com>
>
> I'm not super convinced by this way forward. It introduces more casts
> to/from c_void in code using it, and forces us to expose internal
> types such as ArcInner. Does anyone else have thoughts on this?
Erasing the type later rather than sooner seems like the right thing to
do, giving the compiler more options to check things over.
It was not really any significant work to add/remove casts where needed for
`rnull`. Granted, even the downstream driver is quite small, you are
going to spend a bit more time in binder.
Best regards,
Andreas Hindborg
next prev parent reply other threads:[~2024-11-25 15:34 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <8afOg1gqssfIosuFD71f-eCLAHFSeGtzFU9qi-FzHX2T8kEkLMkk56HrWwUfVxoMCo8UlbKPaxjcJoixKhT8_g==@protonmail.internalid>
2024-11-20 11:48 ` [PATCH v10 0/2] rust: xarray: Add a minimal abstraction for XArray Tamir Duberstein
2024-11-20 11:48 ` [PATCH v10 1/2] rust: types: add `ForeignOwnable::PointedTo` Tamir Duberstein
2024-11-25 14:49 ` Alice Ryhl
2024-11-25 14:52 ` Tamir Duberstein
2024-11-25 15:33 ` Andreas Hindborg [this message]
2024-12-03 11:51 ` Andreas Hindborg
2024-11-20 11:48 ` [PATCH v10 2/2] rust: xarray: Add an abstraction for XArray Tamir Duberstein
2024-12-03 12:16 ` Andreas Hindborg
2024-12-03 15:00 ` Tamir Duberstein
2024-12-03 12:30 ` Alice Ryhl
2024-12-03 15:00 ` Tamir Duberstein
2024-12-03 15:11 ` Alice Ryhl
2024-12-03 15:57 ` Tamir Duberstein
2024-12-03 15:22 ` Miguel Ojeda
2024-12-03 16:01 ` Tamir Duberstein
2024-11-25 7:58 ` [PATCH v10 0/2] rust: xarray: Add a minimal " Andreas Hindborg
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=87ed2z2uqr.fsf@kernel.org \
--to=a.hindborg@kernel.org \
--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=dakr@kernel.org \
--cc=gary@garyguo.net \
--cc=lina@asahilina.net \
--cc=linux-kernel@vger.kernel.org \
--cc=mcanal@igalia.com \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=tamird@gmail.com \
--cc=tmgross@umich.edu \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).