mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
rust: pin-init: change the way the paste!
macro is called
Change the paste macro path from `::kernel::macros::paste!` to use `$crate::init::macros::paste!` instead, which links to `::macros::paste!`. This is because the pin-init crate will be a dependency of the kernel, so it itself cannot have the kernel as a dependency. Signed-off-by: Benno Lossin <benno.lossin@proton.me> Reviewed-by: Fiona Behrens <me@kloenk.dev> Reviewed-by: Andreas Hindborg <a.hindborg@kernel.org> Tested-by: Andreas Hindborg <a.hindborg@kernel.org> Link: https://lore.kernel.org/r/20250308110339.2997091-14-benno.lossin@proton.me Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
This commit is contained in:
parent
31547c9882
commit
b321b93854
1 changed files with 8 additions and 6 deletions
|
@ -498,6 +498,8 @@
|
|||
//! };
|
||||
//! ```
|
||||
|
||||
pub use ::macros::paste;
|
||||
|
||||
/// Creates a `unsafe impl<...> PinnedDrop for $type` block.
|
||||
///
|
||||
/// See [`PinnedDrop`] for more information.
|
||||
|
@ -1134,7 +1136,7 @@ macro_rules! __init_internal {
|
|||
// information that is associated to already parsed fragments, so a path fragment
|
||||
// cannot be used in this position. Doing the retokenization results in valid rust
|
||||
// code.
|
||||
::kernel::macros::paste!($t::$get_data())
|
||||
$crate::init::macros::paste!($t::$get_data())
|
||||
};
|
||||
// Ensure that `data` really is of type `$data` and help with type inference:
|
||||
let init = $crate::init::__internal::$data::make_closure::<_, __InitOk, $err>(
|
||||
|
@ -1215,7 +1217,7 @@ macro_rules! __init_internal {
|
|||
//
|
||||
// We rely on macro hygiene to make it impossible for users to access this local variable.
|
||||
// We use `paste!` to create new hygiene for `$field`.
|
||||
::kernel::macros::paste! {
|
||||
$crate::init::macros::paste! {
|
||||
// SAFETY: We forget the guard later when initialization has succeeded.
|
||||
let [< __ $field _guard >] = unsafe {
|
||||
$crate::init::__internal::DropGuard::new(::core::ptr::addr_of_mut!((*$slot).$field))
|
||||
|
@ -1246,7 +1248,7 @@ macro_rules! __init_internal {
|
|||
//
|
||||
// We rely on macro hygiene to make it impossible for users to access this local variable.
|
||||
// We use `paste!` to create new hygiene for `$field`.
|
||||
::kernel::macros::paste! {
|
||||
$crate::init::macros::paste! {
|
||||
// SAFETY: We forget the guard later when initialization has succeeded.
|
||||
let [< __ $field _guard >] = unsafe {
|
||||
$crate::init::__internal::DropGuard::new(::core::ptr::addr_of_mut!((*$slot).$field))
|
||||
|
@ -1278,7 +1280,7 @@ macro_rules! __init_internal {
|
|||
//
|
||||
// We rely on macro hygiene to make it impossible for users to access this local variable.
|
||||
// We use `paste!` to create new hygiene for `$field`.
|
||||
::kernel::macros::paste! {
|
||||
$crate::init::macros::paste! {
|
||||
// SAFETY: We forget the guard later when initialization has succeeded.
|
||||
let [< __ $field _guard >] = unsafe {
|
||||
$crate::init::__internal::DropGuard::new(::core::ptr::addr_of_mut!((*$slot).$field))
|
||||
|
@ -1315,7 +1317,7 @@ macro_rules! __init_internal {
|
|||
// information that is associated to already parsed fragments, so a path fragment
|
||||
// cannot be used in this position. Doing the retokenization results in valid rust
|
||||
// code.
|
||||
::kernel::macros::paste!(
|
||||
$crate::init::macros::paste!(
|
||||
::core::ptr::write($slot, $t {
|
||||
$($acc)*
|
||||
..zeroed
|
||||
|
@ -1339,7 +1341,7 @@ macro_rules! __init_internal {
|
|||
// information that is associated to already parsed fragments, so a path fragment
|
||||
// cannot be used in this position. Doing the retokenization results in valid rust
|
||||
// code.
|
||||
::kernel::macros::paste!(
|
||||
$crate::init::macros::paste!(
|
||||
::core::ptr::write($slot, $t {
|
||||
$($acc)*
|
||||
});
|
||||
|
|
Loading…
Add table
Reference in a new issue