With Rust 1.75 released we no have async fn and -> impl Trait in traits! This removes the need for the async-trait crate. It, however, requires us to bump MSRV to 1.75 which I am fine with.
Additionally, I chose to remove feature flags for async and the z3 and cvc5 brinary backends.
The async featrue flag includes almost only AsyncBackend and AsyncSolver which have no further dependencies, so they might as well be enabled by default. We might bring something back if we add tokio based BinaryBackend's.
The z3 and cvc5 added no additional dependencies and very little code, since all they do is call out to a binary, so we might as well include them by default and reduce the complexity.
With Rust 1.75 released we no have
async fn
and-> impl Trait
in traits! This removes the need for theasync-trait
crate. It, however, requires us to bump MSRV to 1.75 which I am fine with.Additionally, I chose to remove feature flags for
async
and thez3
andcvc5
brinary backends.The
async
featrue flag includes almost onlyAsyncBackend
andAsyncSolver
which have no further dependencies, so they might as well be enabled by default. We might bring something back if we add tokio basedBinaryBackend
's.The
z3
andcvc5
added no additional dependencies and very little code, since all they do is call out to a binary, so we might as well include them by default and reduce the complexity.