use quote::ToTokens;
use crate::ast::symbol;
use crate::ast::types::TypeType;
pub(crate) struct Stream(pub Option<TypeType>);
impl std::fmt::Debug for Stream {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{}", self.0.to_token_stream())
}
}
impl TryFrom<&syn::MetaNameValue> for Stream {
type Error = syn::Error;
fn try_from(input: &syn::MetaNameValue) -> syn::Result<Self> {
match symbol::nv_parse_maybestr_stream(input) {
Some(Ok(x)) => Ok(Stream(Some(x))),
Some(Err(err)) => Err(err),
None => Ok(Stream(None)),
}
}
}