use proc_macro::TokenStream;
use quote::quote;
use syn::{LitInt, parse_macro_input};
#[proc_macro]
pub fn minus_one(input: TokenStream) -> TokenStream {
let literal: LitInt = parse_macro_input!(input);
let value = literal.base10_parse::<i64>().unwrap() - 1;
let new_literal = LitInt::new(&value.to_string(), literal.span());
let expanded = quote! {
#new_literal
};
TokenStream::from(expanded)
}