ab_contracts_macros_impl/lib.rs
1//! See and use `ab-contracts-macros` crate instead, this is its implementation detail
2
3#![feature(exact_size_is_empty, iter_map_windows, let_chains)]
4
5mod contract;
6
7use proc_macro::TokenStream;
8
9#[proc_macro_attribute]
10pub fn contract(_attr: TokenStream, item: TokenStream) -> TokenStream {
11 contract::contract(item.into())
12 .unwrap_or_else(|error| error.to_compile_error())
13 .into()
14}