You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Looks like implementations are defined starting here for the following:
Option<V>> where V: IntoActiveValue<V> + Into<Value> + Nullable,
Option<Option<V>> where V: IntoActiveValue<V> + Into<Value> + Nullable,
bool
i8
i16
i32
i64
u8
u16
u32
u64
f32
f64
&'static str
String
Vec<u8>
The first two are implemented manually, with the rest being implemented using the impl_into_active_value macro. The explanation for the implementation being only for Vec<u8> and not other Vec types is presumably that ActiveValue::Set(V) has the trait bound V: Into, and Into is implemented for Vec<u8> because Vec<u8> is converted into Value::Bytes. It's also implemented here for Vec<V>, but inside a module that requires the "postgres-array" feature to be enabled. Any fix for this would therefore need to be gated behind the "postgres-array" feature in order to work properly.
Edit: I tried doing this
#[cfg(feature = "postgres-array")]
impl IntoActiveValue<Vec> for Vec
where
V: IntoActiveValue + Into + Nullable + sea_query::ValueType + sea_query::with_array::NotU8
but got an error helpfully informing me that
upstream crates may add a new impl of trait sea_query::with_array::NotU8 for type u8 in future versions
Removing the sea_query::with_array::NotU8 bound produces conflicting implementations. Removing the NotU8 bound and deleting impl_into_active_value!(Vec<u8>) just gives me an error informing me that
the trait bound V: NotU8 is not satisfied
required for sea_query::Value to implement From<Vec<V>>
required for Vec<V> to implement `Into<sea_query::Value>
So it looks like we might be blocked on the stabilization of negative trait bounds.
Description
I am trying to implement DeriveIntoActiveModel for the following struct
I have a field called tags that just contains a field of strings. When using the macro, I get the following error:
Is there a way around this?
The text was updated successfully, but these errors were encountered: