segsource_derive/
lib.rs

1#![allow(unused_imports, dead_code, unused_variables, unused_mut, unused_macros)]
2#![allow(clippy::field_reassign_with_default)]
3use proc_macro::TokenStream;
4use syn::parse_macro_input;
5
6extern crate alloc;
7
8mod from_seg;
9pub(crate) mod util;
10
11#[macro_use]
12extern crate here;
13
14#[proc_macro_derive(FromSegment, attributes(from_seg))]
15pub fn from_segment(stream: TokenStream) -> TokenStream {
16    TokenStream::from(from_seg::derive_from_segment(parse_macro_input!(stream)))
17}
18
19#[proc_macro_derive(TryFromSegment, attributes(from_seg))]
20pub fn try_from_segment(stream: TokenStream) -> TokenStream {
21    TokenStream::from(from_seg::derive_try_from_segment(parse_macro_input!(
22        stream
23    )))
24}