20 lines
498 B
Rust
20 lines
498 B
Rust
// SPDX-License-Identifier: Apache-2.0 OR MIT
|
|
|
|
mod args;
|
|
mod attribute;
|
|
mod derive;
|
|
|
|
use proc_macro2::TokenStream;
|
|
use syn::Error;
|
|
|
|
/// The annotation for pinned type.
|
|
const PIN: &str = "pin";
|
|
|
|
pub(crate) fn attribute(args: &TokenStream, input: TokenStream) -> TokenStream {
|
|
attribute::parse_attribute(args, input).unwrap_or_else(Error::into_compile_error)
|
|
}
|
|
|
|
pub(crate) fn derive(input: TokenStream) -> TokenStream {
|
|
derive::parse_derive(input).unwrap_or_else(Error::into_compile_error)
|
|
}
|