simplify: Drop unnecessary io::Error wrapper in State::decode
InvalidStateError is already Error + Send + Sync via thiserror,
so it boxes directly into BoxDynError — no intermediate wrapper needed.
Assisted-by: Claude Opus 4.6 via pi
diff --git a/src/models.rs b/src/models.rs
index 56b23be..3cef932 100644
--- a/src/models.rs
+++ b/src/models.rs
@@ -55,8 +55,7 @@ impl sqlx::Type<sqlx::Sqlite> for State {
impl<'r> sqlx::Decode<'r, sqlx::Sqlite> for State {
fn decode(value: sqlx::sqlite::SqliteValueRef<'r>) -> Result<Self, sqlx::error::BoxDynError> {
let s = <&str as sqlx::Decode<sqlx::Sqlite>>::decode(value)?;
- s.parse::<State>()
- .map_err(|e| Box::new(std::io::Error::new(std::io::ErrorKind::InvalidData, e)).into())
+ Ok(s.parse::<State>()?)
}
}