From 2e9ba72b0297467e99468be415323b95e66063ef Mon Sep 17 00:00:00 2001 From: Ryan Leckey Date: Thu, 10 Jun 2021 15:04:40 -0700 Subject: [PATCH] fix(mysql, postgres): update XDatabaseError for core changes to support downcast --- sqlx-mysql/src/error/database.rs | 15 +++++++++++++++ sqlx-postgres/src/error/database.rs | 15 +++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/sqlx-mysql/src/error/database.rs b/sqlx-mysql/src/error/database.rs index 5cf368d4..b2ff5378 100644 --- a/sqlx-mysql/src/error/database.rs +++ b/sqlx-mysql/src/error/database.rs @@ -45,6 +45,21 @@ impl DatabaseError for MySqlDatabaseError { fn message(&self) -> &str { &self.0.error_message } + + #[inline(always)] + fn as_error(&self) -> &(dyn StdError + Send + Sync + 'static) { + self + } + + #[inline(always)] + fn as_error_mut(&mut self) -> &mut (dyn StdError + Send + Sync + 'static) { + self + } + + #[inline(always)] + fn into_error(self: Box) -> Box { + self + } } impl Display for MySqlDatabaseError { diff --git a/sqlx-postgres/src/error/database.rs b/sqlx-postgres/src/error/database.rs index 33518ba7..79eb8be6 100644 --- a/sqlx-postgres/src/error/database.rs +++ b/sqlx-postgres/src/error/database.rs @@ -25,6 +25,21 @@ impl DatabaseError for PgDatabaseError { fn message(&self) -> &str { self.0.message() } + + #[inline(always)] + fn as_error(&self) -> &(dyn StdError + Send + Sync + 'static) { + self + } + + #[inline(always)] + fn as_error_mut(&mut self) -> &mut (dyn StdError + Send + Sync + 'static) { + self + } + + #[inline(always)] + fn into_error(self: Box) -> Box { + self + } } impl From for Error {