diff options
Diffstat (limited to 'rust/pin-init/internal/src/lib.rs')
-rw-r--r-- | rust/pin-init/internal/src/lib.rs | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/rust/pin-init/internal/src/lib.rs b/rust/pin-init/internal/src/lib.rs index c201b8a53915..30e145f80bc0 100644 --- a/rust/pin-init/internal/src/lib.rs +++ b/rust/pin-init/internal/src/lib.rs @@ -7,6 +7,13 @@ //! `pin-init` proc macros. #![cfg_attr(not(RUSTC_LINT_REASONS_IS_STABLE), feature(lint_reasons))] +// Allow `.into()` to convert +// - `proc_macro2::TokenStream` into `proc_macro::TokenStream` in the user-space version. +// - `proc_macro::TokenStream` into `proc_macro::TokenStream` in the kernel version. +// Clippy warns on this conversion, but it's required by the user-space version. +// +// Remove once we have `proc_macro2` in the kernel. +#![allow(clippy::useless_conversion)] use proc_macro::TokenStream; @@ -14,6 +21,9 @@ use proc_macro::TokenStream; #[path = "../../../macros/quote.rs"] #[macro_use] mod quote; +#[cfg(not(kernel))] +#[macro_use] +extern crate quote; mod helpers; mod pin_data; @@ -23,17 +33,17 @@ mod zeroable; #[allow(missing_docs)] #[proc_macro_attribute] pub fn pin_data(inner: TokenStream, item: TokenStream) -> TokenStream { - pin_data::pin_data(inner, item) + pin_data::pin_data(inner.into(), item.into()).into() } #[allow(missing_docs)] #[proc_macro_attribute] pub fn pinned_drop(args: TokenStream, input: TokenStream) -> TokenStream { - pinned_drop::pinned_drop(args, input) + pinned_drop::pinned_drop(args.into(), input.into()).into() } #[allow(missing_docs)] #[proc_macro_derive(Zeroable)] pub fn derive_zeroable(input: TokenStream) -> TokenStream { - zeroable::derive(input) + zeroable::derive(input.into()).into() } |