All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Andreas Hindborg (Samsung)" <nmi@metaspace.dk>
To: Alice Ryhl <aliceryhl@google.com>
Cc: rust-for-linux@vger.kernel.org, "Tejun Heo" <tj@kernel.org>,
	"Miguel Ojeda" <ojeda@kernel.org>,
	"Lai Jiangshan" <jiangshanlai@gmail.com>,
	"Wedson Almeida Filho" <wedsonaf@gmail.com>,
	"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>,
	linux-kernel@vger.kernel.org, patches@lists.linux.dev,
	"Wedson Almeida Filho" <walmeida@microsoft.com>,
	"Martin Rodriguez Reboredo" <yakoyoku@gmail.com>
Subject: Re: [PATCH v3 1/9] rust: add offset_of! macro
Date: Mon, 21 Aug 2023 20:43:08 +0200	[thread overview]
Message-ID: <874jksp71i.fsf@metaspace.dk> (raw)
In-Reply-To: <20230711093303.1433770-2-aliceryhl@google.com>


Hi Alice,

Alice Ryhl <aliceryhl@google.com> writes:

> From: Wedson Almeida Filho <walmeida@microsoft.com>
>
> This macro is used to compute the offset of a field in a struct.
>
> This commit enables an unstable feature that is necessary for using
> the macro in a constant. However, this is not a problem as the macro
> will become available from the Rust standard library soon [1]. The
> unstable feature can be disabled again once that happens.
>
> The macro in this patch does not support sub-fields. That is, you cannot
> write `offset_of!(MyStruct, field.sub_field)` to get the offset of
> `sub_field` with `field`'s type being a struct with a field called
> `sub_field`. This is because `field` might be a `Box<SubStruct>`, which
> means that you would be trying to compute the offset to something in an
> entirely different allocation. There's no easy way to fix the current
> macro to support subfields, but the version being added to the standard
> library should support it, so the limitation is temporary and not a big
> deal.

I think `#![feature(offset_of)]` is available in 1.71.0, can we use that directly?

BR Andreas

  reply	other threads:[~2023-08-21 18:46 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-11  9:32 [PATCH v3 0/9] rust: workqueue: add bindings for the workqueue Alice Ryhl
2023-07-11  9:32 ` [PATCH v3 1/9] rust: add offset_of! macro Alice Ryhl
2023-08-21 18:43   ` Andreas Hindborg (Samsung) [this message]
2023-07-11  9:32 ` [PATCH v3 2/9] rust: sync: add `Arc::{from_raw, into_raw}` Alice Ryhl
2023-07-12 20:33   ` Martin Rodriguez Reboredo
2023-07-15  9:42   ` Benno Lossin
2023-07-17 13:47     ` Alice Ryhl
2023-08-22 11:46   ` Andreas Hindborg (Samsung)
2023-07-11  9:32 ` [PATCH 3/9] workqueue: introduce `__INIT_WORK_WITH_KEY` Alice Ryhl
2023-07-11 10:49   ` Alice Ryhl
2023-07-12  6:33   ` Boqun Feng
2023-07-12 20:34   ` Martin Rodriguez Reboredo
2023-07-11  9:32 ` [PATCH v3 4/9] rust: workqueue: add low-level workqueue bindings Alice Ryhl
2023-07-11 22:23   ` Boqun Feng
2023-07-17 13:53     ` Alice Ryhl
2023-07-11  9:32 ` [PATCH v3 5/9] rust: workqueue: define built-in queues Alice Ryhl
2023-07-11  9:33 ` [PATCH v3 6/9] rust: workqueue: add helper for defining work_struct fields Alice Ryhl
2023-07-12 20:43   ` Martin Rodriguez Reboredo
2023-07-15  9:43   ` Benno Lossin
2023-07-17 14:49     ` Alice Ryhl
2023-08-22 18:24     ` Andreas Hindborg (Samsung)
2023-08-23  9:06       ` Andreas Hindborg (Samsung)
2023-08-22 19:59   ` Andreas Hindborg (Samsung)
2023-07-11  9:33 ` [PATCH v3 7/9] rust: workqueue: implement `WorkItemPointer` for pointer types Alice Ryhl
2023-07-11  9:33 ` [PATCH v3 8/9] rust: workqueue: add `try_spawn` helper method Alice Ryhl
2023-07-11  9:33 ` [PATCH v3 9/9] rust: workqueue: add examples Alice Ryhl
2023-07-14 22:40   ` Boqun Feng
2023-07-11 22:17 ` [PATCH v3 0/9] rust: workqueue: add bindings for the workqueue Tejun Heo
2023-07-11 23:44   ` Miguel Ojeda
2023-07-12  0:27     ` Tejun Heo
2023-07-12 16:36       ` 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=874jksp71i.fsf@metaspace.dk \
    --to=nmi@metaspace.dk \
    --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=gary@garyguo.net \
    --cc=jiangshanlai@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=tj@kernel.org \
    --cc=walmeida@microsoft.com \
    --cc=wedsonaf@gmail.com \
    --cc=yakoyoku@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.