From 8a7b554d10cc8aa1554ff73e494a63ed33e81432 Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Fri, 15 Apr 2022 11:59:15 -0700 Subject: [PATCH] Revert "Derive PgHasArrayType for transparent sqlx types (#1748)" This reverts commit f5392151 --- sqlx-macros/src/derives/type.rs | 17 +---------------- tests/postgres/derives.rs | 14 -------------- 2 files changed, 1 insertion(+), 30 deletions(-) diff --git a/sqlx-macros/src/derives/type.rs b/sqlx-macros/src/derives/type.rs index 065a5be4..b1874142 100644 --- a/sqlx-macros/src/derives/type.rs +++ b/sqlx-macros/src/derives/type.rs @@ -60,8 +60,6 @@ fn expand_derive_has_sql_type_transparent( if attr.transparent { let mut generics = generics.clone(); - let mut array_generics = generics.clone(); - generics .params .insert(0, parse_quote!(DB: ::sqlx::Database)); @@ -69,13 +67,8 @@ fn expand_derive_has_sql_type_transparent( .make_where_clause() .predicates .push(parse_quote!(#ty: ::sqlx::Type)); - let (impl_generics, _, where_clause) = generics.split_for_impl(); - array_generics - .make_where_clause() - .predicates - .push(parse_quote!(#ty: ::sqlx::postgres::PgHasArrayType)); - let (array_impl_generics, _, array_where_clause) = array_generics.split_for_impl(); + let (impl_generics, _, where_clause) = generics.split_for_impl(); return Ok(quote!( #[automatically_derived] @@ -88,14 +81,6 @@ fn expand_derive_has_sql_type_transparent( <#ty as ::sqlx::Type>::compatible(ty) } } - #[automatically_derived] - #[cfg(feature = "postgres")] - impl #array_impl_generics ::sqlx::postgres::PgHasArrayType for #ident #ty_generics - #array_where_clause { - fn array_type_info() -> ::sqlx::postgres::PgTypeInfo { - <#ty as ::sqlx::postgres::PgHasArrayType>::array_type_info() - } - } )); } diff --git a/tests/postgres/derives.rs b/tests/postgres/derives.rs index 23ac4187..8abdf5c7 100644 --- a/tests/postgres/derives.rs +++ b/tests/postgres/derives.rs @@ -10,20 +10,6 @@ use std::ops::Bound; #[sqlx(transparent)] struct Transparent(i32); -#[sqlx_macros::test] -async fn test_transparent_slice_to_array() -> anyhow::Result<()> { - let mut conn = new::().await?; - - let values = vec![Transparent(1), Transparent(2), Transparent(3)]; - - sqlx::query("SELECT 2 = ANY($1);") - .bind(&values) - .fetch_one(&mut conn) - .await?; - - Ok(()) -} - // "Weak" enums map to an integer type indicated by #[repr] #[derive(PartialEq, Copy, Clone, Debug, sqlx::Type)] #[repr(i32)]