// SPDX-License-Identifier: LGPL-3.0-or-later // See Notices.txt for copyright information //! proc macros for `fayalite` //! //! see `fayalite::hdl_module` and `fayalite::ty::Value` for docs // intentionally not documented here, see `fayalite::hdl_module` for docs #[proc_macro_attribute] pub fn hdl_module( attr: proc_macro::TokenStream, item: proc_macro::TokenStream, ) -> proc_macro::TokenStream { match fayalite_proc_macros_impl::module(attr.into(), item.into()) { Ok(retval) => retval.into(), Err(err) => err.into_compile_error().into(), } } // intentionally not documented here, see `fayalite::ty::Value` for docs #[proc_macro_derive(Value, attributes(hdl))] pub fn value_derive(item: proc_macro::TokenStream) -> proc_macro::TokenStream { match fayalite_proc_macros_impl::value_derive(item.into()) { Ok(retval) => retval.into(), Err(err) => err.into_compile_error().into(), } }