diesel_derives 2.4.0

You should not use this crate directly, it is internal to Diesel.
Documentation
---
source: diesel_derives/src/tests/mod.rs
expression: out
info:
  input: "#[derive(Insertable)]\nstruct User {\n    id: i32,\n    name: String,\n    #[diesel(embed)]\n    post: Post,\n}\n"
---
const _: () = {
    use diesel;
    impl diesel::insertable::Insertable<users::table> for User
    where
        i32: diesel::expression::AsExpression<
            <users::r#id as diesel::Expression>::SqlType,
        >,
        String: diesel::expression::AsExpression<
            <users::r#name as diesel::Expression>::SqlType,
        >,
    {
        type Values = <(
            std::option::Option<diesel::dsl::Eq<users::r#id, i32>>,
            std::option::Option<diesel::dsl::Eq<users::r#name, String>>,
            Post,
        ) as diesel::insertable::Insertable<users::table>>::Values;
        fn values(
            self,
        ) -> <(
            std::option::Option<diesel::dsl::Eq<users::r#id, i32>>,
            std::option::Option<diesel::dsl::Eq<users::r#name, String>>,
            Post,
        ) as diesel::insertable::Insertable<users::table>>::Values {
            diesel::insertable::Insertable::<
                users::table,
            >::values((
                std::option::Option::Some(
                    diesel::ExpressionMethods::eq(users::r#id, self.id),
                ),
                std::option::Option::Some(
                    diesel::ExpressionMethods::eq(users::r#name, self.name),
                ),
                self.post,
            ))
        }
    }
    impl<'insert> diesel::insertable::Insertable<users::table> for &'insert User
    where
        &'insert i32: diesel::expression::AsExpression<
            <users::r#id as diesel::Expression>::SqlType,
        >,
        &'insert String: diesel::expression::AsExpression<
            <users::r#name as diesel::Expression>::SqlType,
        >,
    {
        type Values = <(
            std::option::Option<diesel::dsl::Eq<users::r#id, &'insert i32>>,
            std::option::Option<diesel::dsl::Eq<users::r#name, &'insert String>>,
            &'insert Post,
        ) as diesel::insertable::Insertable<users::table>>::Values;
        fn values(
            self,
        ) -> <(
            std::option::Option<diesel::dsl::Eq<users::r#id, &'insert i32>>,
            std::option::Option<diesel::dsl::Eq<users::r#name, &'insert String>>,
            &'insert Post,
        ) as diesel::insertable::Insertable<users::table>>::Values {
            diesel::insertable::Insertable::<
                users::table,
            >::values((
                std::option::Option::Some(
                    diesel::ExpressionMethods::eq(users::r#id, &self.id),
                ),
                std::option::Option::Some(
                    diesel::ExpressionMethods::eq(users::r#name, &self.name),
                ),
                &self.post,
            ))
        }
    }
    impl diesel::internal::derives::insertable::UndecoratedInsertRecord<users::table>
    for User {}
};