db_dump/
crates.rs

1//! <b style="font-variant:small-caps">crates.csv</b>
2
3use chrono::{DateTime, Utc};
4use serde_derive::{Deserialize, Serialize};
5use std::borrow::Borrow;
6use std::cmp::Ordering;
7use std::hash::{Hash, Hasher};
8
9/// Primary key of **crates.csv**.
10#[derive(#[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
    {
        #[allow(unused_extern_crates, clippy :: useless_attribute)]
        extern crate serde as _serde;
        ;
        #[automatically_derived]
        impl _serde::Serialize for CrateId {
            fn serialize<__S>(&self, __serializer: __S)
                -> _serde::__private228::Result<__S::Ok, __S::Error> where
                __S: _serde::Serializer {
                _serde::Serialize::serialize(&self.0, __serializer)
            }
        }
    };Serialize, #[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
    {
        #[allow(unused_extern_crates, clippy :: useless_attribute)]
        extern crate serde as _serde;
        ;
        #[automatically_derived]
        impl<'de> _serde::Deserialize<'de> for CrateId {
            fn deserialize<__D>(__deserializer: __D)
                -> _serde::__private228::Result<Self, __D::Error> where
                __D: _serde::Deserializer<'de> {
                _serde::__private228::Result::map(_serde::Deserialize::deserialize(__deserializer),
                    |__transparent| CrateId { 0: __transparent })
            }
        }
    };Deserialize, #[automatically_derived]
impl ::core::marker::Copy for CrateId { }Copy, #[automatically_derived]
impl ::core::clone::Clone for CrateId {
    #[inline]
    fn clone(&self) -> CrateId {
        let _: ::core::clone::AssertParamIsClone<u32>;
        *self
    }
}Clone, #[automatically_derived]
impl ::core::cmp::Ord for CrateId {
    #[inline]
    fn cmp(&self, other: &CrateId) -> ::core::cmp::Ordering {
        ::core::cmp::Ord::cmp(&self.0, &other.0)
    }
}Ord, #[automatically_derived]
impl ::core::cmp::PartialOrd for CrateId {
    #[inline]
    fn partial_cmp(&self, other: &CrateId)
        -> ::core::option::Option<::core::cmp::Ordering> {
        ::core::cmp::PartialOrd::partial_cmp(&self.0, &other.0)
    }
}PartialOrd, #[automatically_derived]
impl ::core::cmp::Eq for CrateId {
    #[inline]
    #[doc(hidden)]
    #[coverage(off)]
    fn assert_receiver_is_total_eq(&self) -> () {
        let _: ::core::cmp::AssertParamIsEq<u32>;
    }
}Eq, #[automatically_derived]
impl ::core::cmp::PartialEq for CrateId {
    #[inline]
    fn eq(&self, other: &CrateId) -> bool { self.0 == other.0 }
}PartialEq, #[automatically_derived]
impl ::core::hash::Hash for CrateId {
    #[inline]
    fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) -> () {
        ::core::hash::Hash::hash(&self.0, state)
    }
}Hash, #[automatically_derived]
impl ::core::fmt::Debug for CrateId {
    #[inline]
    fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
        ::core::fmt::Formatter::debug_tuple_field1_finish(f, "CrateId",
            &&self.0)
    }
}Debug)]
11#[serde(transparent)]
12#[cfg_attr(not(doc), repr(transparent))]
13pub struct CrateId(pub u32);
14
15/// One row of **crates.csv**.
16#[derive(#[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications,
clippy :: absolute_paths,)]
const _: () =
    {
        #[allow(unused_extern_crates, clippy :: useless_attribute)]
        extern crate serde as _serde;
        ;
        #[automatically_derived]
        impl<'de> _serde::Deserialize<'de> for Row {
            fn deserialize<__D>(__deserializer: __D)
                -> _serde::__private228::Result<Self, __D::Error> where
                __D: _serde::Deserializer<'de> {
                #[allow(non_camel_case_types)]
                #[doc(hidden)]
                enum __Field {
                    __field0,
                    __field1,
                    __field2,
                    __field3,
                    __field4,
                    __field5,
                    __field6,
                    __field7,
                    __field8,
                    __field9,
                    __field10,
                    __field11,
                }
                #[doc(hidden)]
                struct __FieldVisitor;
                #[automatically_derived]
                impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
                    type Value = __Field;
                    fn expecting(&self,
                        __formatter: &mut _serde::__private228::Formatter)
                        -> _serde::__private228::fmt::Result {
                        _serde::__private228::Formatter::write_str(__formatter,
                            "field identifier")
                    }
                    fn visit_u64<__E>(self, __value: u64)
                        -> _serde::__private228::Result<Self::Value, __E> where
                        __E: _serde::de::Error {
                        match __value {
                            0u64 => _serde::__private228::Ok(__Field::__field0),
                            1u64 => _serde::__private228::Ok(__Field::__field1),
                            2u64 => _serde::__private228::Ok(__Field::__field2),
                            3u64 => _serde::__private228::Ok(__Field::__field3),
                            4u64 => _serde::__private228::Ok(__Field::__field4),
                            5u64 => _serde::__private228::Ok(__Field::__field5),
                            6u64 => _serde::__private228::Ok(__Field::__field6),
                            7u64 => _serde::__private228::Ok(__Field::__field7),
                            8u64 => _serde::__private228::Ok(__Field::__field8),
                            9u64 => _serde::__private228::Ok(__Field::__field9),
                            10u64 => _serde::__private228::Ok(__Field::__field10),
                            11u64 => _serde::__private228::Ok(__Field::__field11),
                            _ =>
                                _serde::__private228::Err(_serde::de::Error::invalid_value(_serde::de::Unexpected::Unsigned(__value),
                                        &"field index 0 <= i < 12")),
                        }
                    }
                    fn visit_str<__E>(self, __value: &str)
                        -> _serde::__private228::Result<Self::Value, __E> where
                        __E: _serde::de::Error {
                        match __value {
                            "id" => _serde::__private228::Ok(__Field::__field0),
                            "name" => _serde::__private228::Ok(__Field::__field1),
                            "updated_at" => _serde::__private228::Ok(__Field::__field2),
                            "created_at" => _serde::__private228::Ok(__Field::__field3),
                            "description" =>
                                _serde::__private228::Ok(__Field::__field4),
                            "homepage" => _serde::__private228::Ok(__Field::__field5),
                            "documentation" =>
                                _serde::__private228::Ok(__Field::__field6),
                            "readme" => _serde::__private228::Ok(__Field::__field7),
                            "repository" => _serde::__private228::Ok(__Field::__field8),
                            "max_upload_size" =>
                                _serde::__private228::Ok(__Field::__field9),
                            "max_features" =>
                                _serde::__private228::Ok(__Field::__field10),
                            "trustpub_only" =>
                                _serde::__private228::Ok(__Field::__field11),
                            _ => {
                                _serde::__private228::Err(_serde::de::Error::unknown_field(__value,
                                        FIELDS))
                            }
                        }
                    }
                    fn visit_bytes<__E>(self, __value: &[u8])
                        -> _serde::__private228::Result<Self::Value, __E> where
                        __E: _serde::de::Error {
                        match __value {
                            b"id" => _serde::__private228::Ok(__Field::__field0),
                            b"name" => _serde::__private228::Ok(__Field::__field1),
                            b"updated_at" =>
                                _serde::__private228::Ok(__Field::__field2),
                            b"created_at" =>
                                _serde::__private228::Ok(__Field::__field3),
                            b"description" =>
                                _serde::__private228::Ok(__Field::__field4),
                            b"homepage" => _serde::__private228::Ok(__Field::__field5),
                            b"documentation" =>
                                _serde::__private228::Ok(__Field::__field6),
                            b"readme" => _serde::__private228::Ok(__Field::__field7),
                            b"repository" =>
                                _serde::__private228::Ok(__Field::__field8),
                            b"max_upload_size" =>
                                _serde::__private228::Ok(__Field::__field9),
                            b"max_features" =>
                                _serde::__private228::Ok(__Field::__field10),
                            b"trustpub_only" =>
                                _serde::__private228::Ok(__Field::__field11),
                            _ => {
                                let __value =
                                    &_serde::__private228::from_utf8_lossy(__value);
                                _serde::__private228::Err(_serde::de::Error::unknown_field(__value,
                                        FIELDS))
                            }
                        }
                    }
                }
                #[automatically_derived]
                impl<'de> _serde::Deserialize<'de> for __Field {
                    #[inline]
                    fn deserialize<__D>(__deserializer: __D)
                        -> _serde::__private228::Result<Self, __D::Error> where
                        __D: _serde::Deserializer<'de> {
                        _serde::Deserializer::deserialize_identifier(__deserializer,
                            __FieldVisitor)
                    }
                }
                #[doc(hidden)]
                struct __Visitor<'de> {
                    marker: _serde::__private228::PhantomData<Row>,
                    lifetime: _serde::__private228::PhantomData<&'de ()>,
                }
                #[automatically_derived]
                impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
                    type Value = Row;
                    fn expecting(&self,
                        __formatter: &mut _serde::__private228::Formatter)
                        -> _serde::__private228::fmt::Result {
                        _serde::__private228::Formatter::write_str(__formatter,
                            "struct Row")
                    }
                    #[inline]
                    fn visit_seq<__A>(self, mut __seq: __A)
                        -> _serde::__private228::Result<Self::Value, __A::Error>
                        where __A: _serde::de::SeqAccess<'de> {
                        let __field0 =
                            match _serde::de::SeqAccess::next_element::<CrateId>(&mut __seq)?
                                {
                                _serde::__private228::Some(__value) => __value,
                                _serde::__private228::None =>
                                    return _serde::__private228::Err(_serde::de::Error::invalid_length(0usize,
                                                &"struct Row with 12 elements")),
                            };
                        let __field1 =
                            match _serde::de::SeqAccess::next_element::<String>(&mut __seq)?
                                {
                                _serde::__private228::Some(__value) => __value,
                                _serde::__private228::None =>
                                    return _serde::__private228::Err(_serde::de::Error::invalid_length(1usize,
                                                &"struct Row with 12 elements")),
                            };
                        let __field2 =
                            match {
                                    #[doc(hidden)]
                                    struct __DeserializeWith<'de> {
                                        value: DateTime<Utc>,
                                        phantom: _serde::__private228::PhantomData<Row>,
                                        lifetime: _serde::__private228::PhantomData<&'de ()>,
                                    }
                                    #[automatically_derived]
                                    impl<'de> _serde::Deserialize<'de> for
                                        __DeserializeWith<'de> {
                                        fn deserialize<__D>(__deserializer: __D)
                                            -> _serde::__private228::Result<Self, __D::Error> where
                                            __D: _serde::Deserializer<'de> {
                                            _serde::__private228::Ok(__DeserializeWith {
                                                    value: crate::datetime::de(__deserializer)?,
                                                    phantom: _serde::__private228::PhantomData,
                                                    lifetime: _serde::__private228::PhantomData,
                                                })
                                        }
                                    }
                                    _serde::__private228::Option::map(_serde::de::SeqAccess::next_element::<__DeserializeWith<'de>>(&mut __seq)?,
                                        |__wrap| __wrap.value)
                                } {
                                _serde::__private228::Some(__value) => __value,
                                _serde::__private228::None =>
                                    return _serde::__private228::Err(_serde::de::Error::invalid_length(2usize,
                                                &"struct Row with 12 elements")),
                            };
                        let __field3 =
                            match {
                                    #[doc(hidden)]
                                    struct __DeserializeWith<'de> {
                                        value: DateTime<Utc>,
                                        phantom: _serde::__private228::PhantomData<Row>,
                                        lifetime: _serde::__private228::PhantomData<&'de ()>,
                                    }
                                    #[automatically_derived]
                                    impl<'de> _serde::Deserialize<'de> for
                                        __DeserializeWith<'de> {
                                        fn deserialize<__D>(__deserializer: __D)
                                            -> _serde::__private228::Result<Self, __D::Error> where
                                            __D: _serde::Deserializer<'de> {
                                            _serde::__private228::Ok(__DeserializeWith {
                                                    value: crate::datetime::de(__deserializer)?,
                                                    phantom: _serde::__private228::PhantomData,
                                                    lifetime: _serde::__private228::PhantomData,
                                                })
                                        }
                                    }
                                    _serde::__private228::Option::map(_serde::de::SeqAccess::next_element::<__DeserializeWith<'de>>(&mut __seq)?,
                                        |__wrap| __wrap.value)
                                } {
                                _serde::__private228::Some(__value) => __value,
                                _serde::__private228::None =>
                                    return _serde::__private228::Err(_serde::de::Error::invalid_length(3usize,
                                                &"struct Row with 12 elements")),
                            };
                        let __field4 =
                            match _serde::de::SeqAccess::next_element::<String>(&mut __seq)?
                                {
                                _serde::__private228::Some(__value) => __value,
                                _serde::__private228::None =>
                                    return _serde::__private228::Err(_serde::de::Error::invalid_length(4usize,
                                                &"struct Row with 12 elements")),
                            };
                        let __field5 =
                            match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq)?
                                {
                                _serde::__private228::Some(__value) => __value,
                                _serde::__private228::None =>
                                    return _serde::__private228::Err(_serde::de::Error::invalid_length(5usize,
                                                &"struct Row with 12 elements")),
                            };
                        let __field6 =
                            match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq)?
                                {
                                _serde::__private228::Some(__value) => __value,
                                _serde::__private228::None =>
                                    return _serde::__private228::Err(_serde::de::Error::invalid_length(6usize,
                                                &"struct Row with 12 elements")),
                            };
                        let __field7 =
                            match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq)?
                                {
                                _serde::__private228::Some(__value) => __value,
                                _serde::__private228::None =>
                                    return _serde::__private228::Err(_serde::de::Error::invalid_length(7usize,
                                                &"struct Row with 12 elements")),
                            };
                        let __field8 =
                            match _serde::de::SeqAccess::next_element::<Option<String>>(&mut __seq)?
                                {
                                _serde::__private228::Some(__value) => __value,
                                _serde::__private228::None =>
                                    return _serde::__private228::Err(_serde::de::Error::invalid_length(8usize,
                                                &"struct Row with 12 elements")),
                            };
                        let __field9 =
                            match _serde::de::SeqAccess::next_element::<Option<u64>>(&mut __seq)?
                                {
                                _serde::__private228::Some(__value) => __value,
                                _serde::__private228::None =>
                                    return _serde::__private228::Err(_serde::de::Error::invalid_length(9usize,
                                                &"struct Row with 12 elements")),
                            };
                        let __field10 =
                            match _serde::de::SeqAccess::next_element::<Option<u16>>(&mut __seq)?
                                {
                                _serde::__private228::Some(__value) => __value,
                                _serde::__private228::None =>
                                    return _serde::__private228::Err(_serde::de::Error::invalid_length(10usize,
                                                &"struct Row with 12 elements")),
                            };
                        let __field11 =
                            match {
                                    #[doc(hidden)]
                                    struct __DeserializeWith<'de> {
                                        value: bool,
                                        phantom: _serde::__private228::PhantomData<Row>,
                                        lifetime: _serde::__private228::PhantomData<&'de ()>,
                                    }
                                    #[automatically_derived]
                                    impl<'de> _serde::Deserialize<'de> for
                                        __DeserializeWith<'de> {
                                        fn deserialize<__D>(__deserializer: __D)
                                            -> _serde::__private228::Result<Self, __D::Error> where
                                            __D: _serde::Deserializer<'de> {
                                            _serde::__private228::Ok(__DeserializeWith {
                                                    value: crate::bool::de(__deserializer)?,
                                                    phantom: _serde::__private228::PhantomData,
                                                    lifetime: _serde::__private228::PhantomData,
                                                })
                                        }
                                    }
                                    _serde::__private228::Option::map(_serde::de::SeqAccess::next_element::<__DeserializeWith<'de>>(&mut __seq)?,
                                        |__wrap| __wrap.value)
                                } {
                                _serde::__private228::Some(__value) => __value,
                                _serde::__private228::None =>
                                    _serde::__private228::Default::default(),
                            };
                        _serde::__private228::Ok(Row {
                                id: __field0,
                                name: __field1,
                                updated_at: __field2,
                                created_at: __field3,
                                description: __field4,
                                homepage: __field5,
                                documentation: __field6,
                                readme: __field7,
                                repository: __field8,
                                max_upload_size: __field9,
                                max_features: __field10,
                                trustpub_only: __field11,
                            })
                    }
                    #[inline]
                    fn visit_map<__A>(self, mut __map: __A)
                        -> _serde::__private228::Result<Self::Value, __A::Error>
                        where __A: _serde::de::MapAccess<'de> {
                        let mut __field0: _serde::__private228::Option<CrateId> =
                            _serde::__private228::None;
                        let mut __field1: _serde::__private228::Option<String> =
                            _serde::__private228::None;
                        let mut __field2:
                                _serde::__private228::Option<DateTime<Utc>> =
                            _serde::__private228::None;
                        let mut __field3:
                                _serde::__private228::Option<DateTime<Utc>> =
                            _serde::__private228::None;
                        let mut __field4: _serde::__private228::Option<String> =
                            _serde::__private228::None;
                        let mut __field5:
                                _serde::__private228::Option<Option<String>> =
                            _serde::__private228::None;
                        let mut __field6:
                                _serde::__private228::Option<Option<String>> =
                            _serde::__private228::None;
                        let mut __field7:
                                _serde::__private228::Option<Option<String>> =
                            _serde::__private228::None;
                        let mut __field8:
                                _serde::__private228::Option<Option<String>> =
                            _serde::__private228::None;
                        let mut __field9:
                                _serde::__private228::Option<Option<u64>> =
                            _serde::__private228::None;
                        let mut __field10:
                                _serde::__private228::Option<Option<u16>> =
                            _serde::__private228::None;
                        let mut __field11: _serde::__private228::Option<bool> =
                            _serde::__private228::None;
                        while let _serde::__private228::Some(__key) =
                                _serde::de::MapAccess::next_key::<__Field>(&mut __map)? {
                            match __key {
                                __Field::__field0 => {
                                    if _serde::__private228::Option::is_some(&__field0) {
                                        return _serde::__private228::Err(<__A::Error as
                                                        _serde::de::Error>::duplicate_field("id"));
                                    }
                                    __field0 =
                                        _serde::__private228::Some(_serde::de::MapAccess::next_value::<CrateId>(&mut __map)?);
                                }
                                __Field::__field1 => {
                                    if _serde::__private228::Option::is_some(&__field1) {
                                        return _serde::__private228::Err(<__A::Error as
                                                        _serde::de::Error>::duplicate_field("name"));
                                    }
                                    __field1 =
                                        _serde::__private228::Some(_serde::de::MapAccess::next_value::<String>(&mut __map)?);
                                }
                                __Field::__field2 => {
                                    if _serde::__private228::Option::is_some(&__field2) {
                                        return _serde::__private228::Err(<__A::Error as
                                                        _serde::de::Error>::duplicate_field("updated_at"));
                                    }
                                    __field2 =
                                        _serde::__private228::Some({
                                                #[doc(hidden)]
                                                struct __DeserializeWith<'de> {
                                                    value: DateTime<Utc>,
                                                    phantom: _serde::__private228::PhantomData<Row>,
                                                    lifetime: _serde::__private228::PhantomData<&'de ()>,
                                                }
                                                #[automatically_derived]
                                                impl<'de> _serde::Deserialize<'de> for
                                                    __DeserializeWith<'de> {
                                                    fn deserialize<__D>(__deserializer: __D)
                                                        -> _serde::__private228::Result<Self, __D::Error> where
                                                        __D: _serde::Deserializer<'de> {
                                                        _serde::__private228::Ok(__DeserializeWith {
                                                                value: crate::datetime::de(__deserializer)?,
                                                                phantom: _serde::__private228::PhantomData,
                                                                lifetime: _serde::__private228::PhantomData,
                                                            })
                                                    }
                                                }
                                                match _serde::de::MapAccess::next_value::<__DeserializeWith<'de>>(&mut __map)
                                                    {
                                                    _serde::__private228::Ok(__wrapper) => __wrapper.value,
                                                    _serde::__private228::Err(__err) => {
                                                        return _serde::__private228::Err(__err);
                                                    }
                                                }
                                            });
                                }
                                __Field::__field3 => {
                                    if _serde::__private228::Option::is_some(&__field3) {
                                        return _serde::__private228::Err(<__A::Error as
                                                        _serde::de::Error>::duplicate_field("created_at"));
                                    }
                                    __field3 =
                                        _serde::__private228::Some({
                                                #[doc(hidden)]
                                                struct __DeserializeWith<'de> {
                                                    value: DateTime<Utc>,
                                                    phantom: _serde::__private228::PhantomData<Row>,
                                                    lifetime: _serde::__private228::PhantomData<&'de ()>,
                                                }
                                                #[automatically_derived]
                                                impl<'de> _serde::Deserialize<'de> for
                                                    __DeserializeWith<'de> {
                                                    fn deserialize<__D>(__deserializer: __D)
                                                        -> _serde::__private228::Result<Self, __D::Error> where
                                                        __D: _serde::Deserializer<'de> {
                                                        _serde::__private228::Ok(__DeserializeWith {
                                                                value: crate::datetime::de(__deserializer)?,
                                                                phantom: _serde::__private228::PhantomData,
                                                                lifetime: _serde::__private228::PhantomData,
                                                            })
                                                    }
                                                }
                                                match _serde::de::MapAccess::next_value::<__DeserializeWith<'de>>(&mut __map)
                                                    {
                                                    _serde::__private228::Ok(__wrapper) => __wrapper.value,
                                                    _serde::__private228::Err(__err) => {
                                                        return _serde::__private228::Err(__err);
                                                    }
                                                }
                                            });
                                }
                                __Field::__field4 => {
                                    if _serde::__private228::Option::is_some(&__field4) {
                                        return _serde::__private228::Err(<__A::Error as
                                                        _serde::de::Error>::duplicate_field("description"));
                                    }
                                    __field4 =
                                        _serde::__private228::Some(_serde::de::MapAccess::next_value::<String>(&mut __map)?);
                                }
                                __Field::__field5 => {
                                    if _serde::__private228::Option::is_some(&__field5) {
                                        return _serde::__private228::Err(<__A::Error as
                                                        _serde::de::Error>::duplicate_field("homepage"));
                                    }
                                    __field5 =
                                        _serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<String>>(&mut __map)?);
                                }
                                __Field::__field6 => {
                                    if _serde::__private228::Option::is_some(&__field6) {
                                        return _serde::__private228::Err(<__A::Error as
                                                        _serde::de::Error>::duplicate_field("documentation"));
                                    }
                                    __field6 =
                                        _serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<String>>(&mut __map)?);
                                }
                                __Field::__field7 => {
                                    if _serde::__private228::Option::is_some(&__field7) {
                                        return _serde::__private228::Err(<__A::Error as
                                                        _serde::de::Error>::duplicate_field("readme"));
                                    }
                                    __field7 =
                                        _serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<String>>(&mut __map)?);
                                }
                                __Field::__field8 => {
                                    if _serde::__private228::Option::is_some(&__field8) {
                                        return _serde::__private228::Err(<__A::Error as
                                                        _serde::de::Error>::duplicate_field("repository"));
                                    }
                                    __field8 =
                                        _serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<String>>(&mut __map)?);
                                }
                                __Field::__field9 => {
                                    if _serde::__private228::Option::is_some(&__field9) {
                                        return _serde::__private228::Err(<__A::Error as
                                                        _serde::de::Error>::duplicate_field("max_upload_size"));
                                    }
                                    __field9 =
                                        _serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<u64>>(&mut __map)?);
                                }
                                __Field::__field10 => {
                                    if _serde::__private228::Option::is_some(&__field10) {
                                        return _serde::__private228::Err(<__A::Error as
                                                        _serde::de::Error>::duplicate_field("max_features"));
                                    }
                                    __field10 =
                                        _serde::__private228::Some(_serde::de::MapAccess::next_value::<Option<u16>>(&mut __map)?);
                                }
                                __Field::__field11 => {
                                    if _serde::__private228::Option::is_some(&__field11) {
                                        return _serde::__private228::Err(<__A::Error as
                                                        _serde::de::Error>::duplicate_field("trustpub_only"));
                                    }
                                    __field11 =
                                        _serde::__private228::Some({
                                                #[doc(hidden)]
                                                struct __DeserializeWith<'de> {
                                                    value: bool,
                                                    phantom: _serde::__private228::PhantomData<Row>,
                                                    lifetime: _serde::__private228::PhantomData<&'de ()>,
                                                }
                                                #[automatically_derived]
                                                impl<'de> _serde::Deserialize<'de> for
                                                    __DeserializeWith<'de> {
                                                    fn deserialize<__D>(__deserializer: __D)
                                                        -> _serde::__private228::Result<Self, __D::Error> where
                                                        __D: _serde::Deserializer<'de> {
                                                        _serde::__private228::Ok(__DeserializeWith {
                                                                value: crate::bool::de(__deserializer)?,
                                                                phantom: _serde::__private228::PhantomData,
                                                                lifetime: _serde::__private228::PhantomData,
                                                            })
                                                    }
                                                }
                                                match _serde::de::MapAccess::next_value::<__DeserializeWith<'de>>(&mut __map)
                                                    {
                                                    _serde::__private228::Ok(__wrapper) => __wrapper.value,
                                                    _serde::__private228::Err(__err) => {
                                                        return _serde::__private228::Err(__err);
                                                    }
                                                }
                                            });
                                }
                            }
                        }
                        let __field0 =
                            match __field0 {
                                _serde::__private228::Some(__field0) => __field0,
                                _serde::__private228::None =>
                                    _serde::__private228::de::missing_field("id")?,
                            };
                        let __field1 =
                            match __field1 {
                                _serde::__private228::Some(__field1) => __field1,
                                _serde::__private228::None =>
                                    _serde::__private228::de::missing_field("name")?,
                            };
                        let __field2 =
                            match __field2 {
                                _serde::__private228::Some(__field2) => __field2,
                                _serde::__private228::None =>
                                    return _serde::__private228::Err(<__A::Error as
                                                    _serde::de::Error>::missing_field("updated_at")),
                            };
                        let __field3 =
                            match __field3 {
                                _serde::__private228::Some(__field3) => __field3,
                                _serde::__private228::None =>
                                    return _serde::__private228::Err(<__A::Error as
                                                    _serde::de::Error>::missing_field("created_at")),
                            };
                        let __field4 =
                            match __field4 {
                                _serde::__private228::Some(__field4) => __field4,
                                _serde::__private228::None =>
                                    _serde::__private228::de::missing_field("description")?,
                            };
                        let __field5 =
                            match __field5 {
                                _serde::__private228::Some(__field5) => __field5,
                                _serde::__private228::None =>
                                    _serde::__private228::de::missing_field("homepage")?,
                            };
                        let __field6 =
                            match __field6 {
                                _serde::__private228::Some(__field6) => __field6,
                                _serde::__private228::None =>
                                    _serde::__private228::de::missing_field("documentation")?,
                            };
                        let __field7 =
                            match __field7 {
                                _serde::__private228::Some(__field7) => __field7,
                                _serde::__private228::None =>
                                    _serde::__private228::de::missing_field("readme")?,
                            };
                        let __field8 =
                            match __field8 {
                                _serde::__private228::Some(__field8) => __field8,
                                _serde::__private228::None =>
                                    _serde::__private228::de::missing_field("repository")?,
                            };
                        let __field9 =
                            match __field9 {
                                _serde::__private228::Some(__field9) => __field9,
                                _serde::__private228::None =>
                                    _serde::__private228::de::missing_field("max_upload_size")?,
                            };
                        let __field10 =
                            match __field10 {
                                _serde::__private228::Some(__field10) => __field10,
                                _serde::__private228::None =>
                                    _serde::__private228::de::missing_field("max_features")?,
                            };
                        let __field11 =
                            match __field11 {
                                _serde::__private228::Some(__field11) => __field11,
                                _serde::__private228::None =>
                                    _serde::__private228::Default::default(),
                            };
                        _serde::__private228::Ok(Row {
                                id: __field0,
                                name: __field1,
                                updated_at: __field2,
                                created_at: __field3,
                                description: __field4,
                                homepage: __field5,
                                documentation: __field6,
                                readme: __field7,
                                repository: __field8,
                                max_upload_size: __field9,
                                max_features: __field10,
                                trustpub_only: __field11,
                            })
                    }
                }
                #[doc(hidden)]
                const FIELDS: &'static [&'static str] =
                    &["id", "name", "updated_at", "created_at", "description",
                                "homepage", "documentation", "readme", "repository",
                                "max_upload_size", "max_features", "trustpub_only"];
                _serde::Deserializer::deserialize_struct(__deserializer,
                    "Row", FIELDS,
                    __Visitor {
                        marker: _serde::__private228::PhantomData::<Row>,
                        lifetime: _serde::__private228::PhantomData,
                    })
            }
        }
    };Deserialize, #[automatically_derived]
impl ::core::clone::Clone for Row {
    #[inline]
    fn clone(&self) -> Row {
        Row {
            id: ::core::clone::Clone::clone(&self.id),
            name: ::core::clone::Clone::clone(&self.name),
            updated_at: ::core::clone::Clone::clone(&self.updated_at),
            created_at: ::core::clone::Clone::clone(&self.created_at),
            description: ::core::clone::Clone::clone(&self.description),
            homepage: ::core::clone::Clone::clone(&self.homepage),
            documentation: ::core::clone::Clone::clone(&self.documentation),
            readme: ::core::clone::Clone::clone(&self.readme),
            repository: ::core::clone::Clone::clone(&self.repository),
            max_upload_size: ::core::clone::Clone::clone(&self.max_upload_size),
            max_features: ::core::clone::Clone::clone(&self.max_features),
            trustpub_only: ::core::clone::Clone::clone(&self.trustpub_only),
        }
    }
}Clone, #[automatically_derived]
impl ::core::fmt::Debug for Row {
    #[inline]
    fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
        let names: &'static _ =
            &["id", "name", "updated_at", "created_at", "description",
                        "homepage", "documentation", "readme", "repository",
                        "max_upload_size", "max_features", "trustpub_only"];
        let values: &[&dyn ::core::fmt::Debug] =
            &[&self.id, &self.name, &self.updated_at, &self.created_at,
                        &self.description, &self.homepage, &self.documentation,
                        &self.readme, &self.repository, &self.max_upload_size,
                        &self.max_features, &&self.trustpub_only];
        ::core::fmt::Formatter::debug_struct_fields_finish(f, "Row", names,
            values)
    }
}Debug)]
17#[serde(deny_unknown_fields)]
18#[non_exhaustive]
19pub struct Row {
20    /// PRIMARY KEY
21    pub id: CrateId,
22    pub name: String,
23    #[serde(deserialize_with = "crate::datetime::de")]
24    pub updated_at: DateTime<Utc>,
25    #[serde(deserialize_with = "crate::datetime::de")]
26    pub created_at: DateTime<Utc>,
27    pub description: String,
28    pub homepage: Option<String>,
29    pub documentation: Option<String>,
30    pub readme: Option<String>,
31    pub repository: Option<String>,
32    pub max_upload_size: Option<u64>,
33    pub max_features: Option<u16>,
34    #[serde(default, deserialize_with = "crate::bool::de")]
35    pub trustpub_only: bool,
36}
37
38impl Ord for Row {
39    fn cmp(&self, other: &Self) -> Ordering {
40        CrateId::cmp(&self.id, &other.id)
41    }
42}
43
44impl PartialOrd for Row {
45    fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
46        Some(self.cmp(other))
47    }
48}
49
50impl Eq for Row {}
51
52impl PartialEq for Row {
53    fn eq(&self, other: &Self) -> bool {
54        CrateId::eq(&self.id, &other.id)
55    }
56}
57
58impl Hash for Row {
59    fn hash<H: Hasher>(&self, state: &mut H) {
60        CrateId::hash(&self.id, state);
61    }
62}
63
64impl Borrow<CrateId> for Row {
65    fn borrow(&self) -> &CrateId {
66        &self.id
67    }
68}