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}