diff --git a/src/convolution.rs b/src/convolution.rs index 91b7b33..d084e3a 100644 --- a/src/convolution.rs +++ b/src/convolution.rs @@ -8,9 +8,9 @@ macro_rules! modulus { const VALUE: u32 = $name as _; const HINT_VALUE_IS_PRIME: bool = true; - fn butterfly_cache() -> &'static ::std::thread::LocalKey<::std::cell::RefCell<::std::option::Option<$crate::modint::ButterflyCache>>> { + fn butterfly_cache() -> &'static ::std::thread::LocalKey<::std::cell::RefCell<::std::option::Option>>> { thread_local! { - static BUTTERFLY_CACHE: ::std::cell::RefCell<::std::option::Option<$crate::modint::ButterflyCache<$name>>> = ::std::default::Default::default(); + static BUTTERFLY_CACHE: ::std::cell::RefCell<::std::option::Option>> = ::std::default::Default::default(); } &BUTTERFLY_CACHE } @@ -21,7 +21,7 @@ macro_rules! modulus { use super::{ internal_bit, internal_math, - modint::{ButterflyCache, Modulus, RemEuclidU32, StaticModInt}, + modint::{self, ButterflyCache, Modulus, RemEuclidU32, StaticModInt}, }; use std::{ cmp, @@ -232,7 +232,7 @@ fn prepare() -> ButterflyCache { #[cfg(test)] mod tests { - use super::super::modint::{Mod998244353, Modulus, RemEuclidU32, StaticModInt}; + use super::super::modint::{self, Mod998244353, Modulus, RemEuclidU32, StaticModInt}; use rand::{rngs::ThreadRng, Rng as _}; use std::{ convert::{TryFrom, TryInto as _}, diff --git a/src/lazysegtree.rs b/src/lazysegtree.rs index 540fbab..959fabf 100644 --- a/src/lazysegtree.rs +++ b/src/lazysegtree.rs @@ -1,5 +1,5 @@ use super::internal_bit::ceil_pow2; -use super::Monoid; +use super::segtree::Monoid; pub trait MapMonoid { type M: Monoid;