use proc_macro2::TokenStream;
use crate::implementation::{ContractMode, ContractType, FuncWithContracts};
pub(crate) fn ensures(mode: ContractMode, attr: TokenStream, toks: TokenStream) -> TokenStream {
let ty = ContractType::Ensures;
let func = syn::parse_quote!(#toks);
let f = FuncWithContracts::new_with_initial_contract(func, ty, mode, attr);
f.generate()
}