Toolchain requirements

Version 0.5.0 Updated Feb 09, 2026

rstest-bdd targets Rust 1.85 or newer across every crate in the workspace. Each Cargo.toml declares rust-version = "1.85", so cargo will refuse to compile the project on older compilers. The workspace uses the Rust 2024 edition.

rstest-bdd builds on stable Rust. The repository pins a stable toolchain for development via rust-toolchain.toml so contributors get consistent rustfmt and clippy behaviour.

Step definitions may be synchronous functions (fn) or asynchronous functions (async fn). The framework no longer depends on the async-trait crate to express async methods in traits. Projects that previously relied on #[async_trait] in helper traits should replace those methods with ordinary functions, and use async steps or async fixtures where appropriate. Step wrappers normalize results into StepExecution.