field_projection_internal/lib.rs
1//! Internal implementation details of crate `field_projection`, **do not use**.
2
3use proc_macro::TokenStream;
4use syn::Error;
5
6mod field;
7mod pin;
8
9#[proc_macro_derive(Field)]
10pub fn field(input: TokenStream) -> TokenStream {
11 field::field(input.into())
12 .unwrap_or_else(Error::into_compile_error)
13 .into()
14}
15
16#[proc_macro_derive(PinField, attributes(pin))]
17pub fn pin_field(input: TokenStream) -> TokenStream {
18 pin::pin_field(input.into())
19 .unwrap_or_else(Error::into_compile_error)
20 .into()
21}