mirror of
https://github.com/torvalds/linux.git
synced 2025-11-02 17:49:03 +02:00
To support a potential usage:
static foo: Opaque<Foo> = ..; // Or defined in an extern block.
...
fn bar() {
let ptr = foo.get();
}
`Opaque::get` need to be `const`, otherwise compiler will complain
because calls on statics are limited to const functions.
Also `Opaque::get` should be naturally `const` since it's a composition
of two `const` functions: `UnsafeCell::get` and `ptr::cast`.
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Wedson Almeida Filho <walmeida@microsoft.com>
Reviewed-by: Benno Lossin <benno.lossin@proton.me>
Link: https://lore.kernel.org/r/20240401214543.1242286-1-boqun.feng@gmail.com
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
|
||
|---|---|---|
| .. | ||
| alloc | ||
| init | ||
| net | ||
| sync | ||
| alloc.rs | ||
| build_assert.rs | ||
| error.rs | ||
| init.rs | ||
| ioctl.rs | ||
| kunit.rs | ||
| lib.rs | ||
| net.rs | ||
| prelude.rs | ||
| print.rs | ||
| static_assert.rs | ||
| std_vendor.rs | ||
| str.rs | ||
| sync.rs | ||
| task.rs | ||
| time.rs | ||
| types.rs | ||
| workqueue.rs | ||