From d62bce669e5f5310a53d5b66c6d0a9c56fd5fda3 Mon Sep 17 00:00:00 2001 From: Ryan Fowler Date: Tue, 3 Feb 2026 06:54:40 -0800 Subject: [PATCH 1/3] Replace async-std with smol in tests Swap the async-std dev-dependency for smol, which is lighter weight and still validates runtime-agnostic compatibility. Updates the async_test! macro to use smol::block_on and the doc comment in lib.rs. --- Cargo.toml | 2 +- src/lib.rs | 2 +- tests/tests.rs | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index f2a47ff..5b11f43 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -49,7 +49,7 @@ futures-util = { version = "0.3" } rusqlite = { version = "0.38.0" } [dev-dependencies] -async-std = { version = "1.12.0" } paste = { version = "1.0.12" } +smol = { version = "2" } tempfile = { version = "3.6.0" } tokio = { version = "1.29.1", features = ["rt"] } diff --git a/src/lib.rs b/src/lib.rs index b7239c8..4de59ae 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -3,7 +3,7 @@ //! A library to interact with sqlite from an async context. //! //! This library is tested on both [tokio](https://docs.rs/tokio/latest/tokio/) -//! and [async_std](https://docs.rs/async-std/latest/async_std/), however +//! and [smol](https://docs.rs/smol/latest/smol/), however //! it should be compatible with all async runtimes. //! //! ## Usage diff --git a/tests/tests.rs b/tests/tests.rs index eb22604..6d37e60 100644 --- a/tests/tests.rs +++ b/tests/tests.rs @@ -64,8 +64,8 @@ macro_rules! async_test { ($name:ident) => { paste::item! { #[::core::prelude::v1::test] - fn [< $name _async_std >] () { - ::async_std::task::block_on($name()); + fn [< $name _smol >] () { + ::smol::block_on($name()); } #[::core::prelude::v1::test] From 0a130ac4b9eb0d54265aa5469f0b173178045883 Mon Sep 17 00:00:00 2001 From: Ryan Fowler Date: Tue, 3 Feb 2026 06:55:45 -0800 Subject: [PATCH 2/3] Update README to reference smol instead of async-std --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a1be33..b329cfb 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A library to interact with sqlite from an async context. This library is tested on both [tokio](https://docs.rs/tokio/latest/tokio/) -and [async_std](https://docs.rs/async-std/latest/async_std/), however +and [smol](https://docs.rs/smol/latest/smol/), however it should be compatible with all async runtimes. ## Install From 2f89ec6bbe9e5b74033e695b1635a728b67ca7a4 Mon Sep 17 00:00:00 2001 From: Ryan Fowler Date: Tue, 3 Feb 2026 06:57:39 -0800 Subject: [PATCH 3/3] Update AGENTS.md to reference smol instead of async-std --- AGENTS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 6ab3785..36b7b97 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,7 +4,7 @@ This file provides guidance to AI agents when working with code in this reposito ## Project Overview -async-sqlite is a Rust library providing an asynchronous, runtime-agnostic wrapper around SQLite via `rusqlite`. It works with any async runtime (tokio, async-std, etc.) by using background threads internally rather than depending on a specific runtime. +async-sqlite is a Rust library providing an asynchronous, runtime-agnostic wrapper around SQLite via `rusqlite`. It works with any async runtime (tokio, smol, etc.) by using background threads internally rather than depending on a specific runtime. ## Build Commands @@ -40,4 +40,4 @@ All Cargo features are pass-through to `rusqlite`. The `bundled` feature (defaul ## Testing -Tests in `tests/tests.rs` use a `async_test!` macro that generates two variants of each async test: one running on tokio and one on async-std. This ensures runtime compatibility. Tests use `tempfile` for temporary database files. +Tests in `tests/tests.rs` use a `async_test!` macro that generates two variants of each async test: one running on tokio and one on smol. This ensures runtime compatibility. Tests use `tempfile` for temporary database files.