export RUSTFLAGS="--deny warnings"
cargo +nightly fmt -- --check || {
echo "Run: cargo fmt" >&2
exit 1
}
export CARGO_TARGET_DIR="target/test.normal"
cargo test || {
echo "Tests fail without features" >&2
exit 1
}
export CARGO_TARGET_DIR="target/test.all"
cargo test --all-features || {
echo "Tests fail with features" >&2
exit 1
}
export CARGO_TARGET_DIR="target/nightly"
cargo +nightly 2>/dev/null > /dev/null && {
cargo +nightly bench --no-run || {
echo "Benchmark builds fail" >&2
exit 1
}
cargo +nightly clippy -- -D warnings || {
echo "Clippy fail" >&2
exit 1
}
} || echo "Skipping nightly, because not installed"
exit 0