Plume-org / Plume

Federated blogging application, thanks to ActivityPub (now on https://git.joinplu.me/ — this is just a mirror)
https://joinplu.me
GNU Affero General Public License v3.0
2.11k stars 135 forks source link

Failure to compile `plume-models` for 0.5.0 #801

Closed Amolith closed 4 years ago

Amolith commented 4 years ago

I just attempted to upgrade my instance and compiling Plume from source failed. I pulled from upstream, checked out the 0.5.0 branch, and ran the command below.

plume@de1:~/plume $ cargo install --no-default-features --features postgres --path plume-cli --force  
Installing plume-cli v0.4.0 (/home/plume/plume/plume-cli)
    Updating crates.io index    Updating git repository `https://github.com/Plume-org/rocket_i18n`
    Updating git repository `https://github.com/Plume-org/gettext/`
   Compiling plume-models v0.4.0 (/home/plume/plume/plume-models)
error[E0277]: the trait bound `bool: diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::pg::Pg>` is not satisfied
   --> plume-models/src/lib.rs:165:18
    |
165 |                 .first(conn)
    |                  ^^^^^ the trait `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::pg::Pg>` is not implemented for `bool`
    | 
   ::: plume-models/src/blocklisted_emails.rs:27:5
    |
27  |     find_by!(email_blocklist, find_by_id, id as i32);
    |     ------------------------------------------------- in this macro invocation
    |
    = help: the following implementations were found:              <bool as diesel::deserialize::FromSql<diesel::sql_types::Bool, diesel::pg::Pg>>
    = note: required because of the requirements on the impl of `diesel::Queryable<diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::pg::Pg>` for `bool`    = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), diesel::pg::Pg>` for `(i32, std::string::String, std::string::String, bool, std::string::String)`
    = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), diesel::pg::Pg>` for `blocklisted_emails::BlocklistedEmail`
    = note: required because of the requirements on the impl of `diesel::query_dsl::LoadQuery<diesel::PgConnection, blocklisted_emails::BlocklistedEmail>` for `diesel::query_builder::SelectStatement<schema::email_blocklist::table, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, diesel::query_builder::where_clause::WhereClause<diesel::expression::operators::Eq<schema::email_blocklist::columns::id, diesel::expression::bound::Bound<diesel::sql_types::Integer, i32>>>, diesel::query_builder::order_clause::NoOrderClause, diesel::query_builder::limit_clause::LimitClause<diesel::expression::bound::Bound<diesel::sql_types::BigInt, i64>>>`

error[E0277]: the trait bound `*const str: diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::pg::Pg>` is not satisfied
   --> plume-models/src/lib.rs:165:18
    |
165 |                 .first(conn)
    |                  ^^^^^ the trait `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::pg::Pg>` is not implemented for `*const str`    | 
   ::: plume-models/src/blocklisted_emails.rs:27:5    |
27  |     find_by!(email_blocklist, find_by_id, id as i32);    |     ------------------------------------------------- in this macro invocation    |
    = help: the following implementations were found:
              <*const [u8] as diesel::deserialize::FromSql<diesel::sql_types::Binary, DB>>
              <*const str as diesel::deserialize::FromSql<diesel::sql_types::Text, DB>>
    = note: required because of the requirements on the impl of `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::pg::Pg>` for `std::string::String`
    = note: required because of the requirements on the impl of `diesel::Queryable<diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::pg::Pg>` for `std::string::String`
    = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), diesel::pg::Pg>` for `(i32, std::string::String, std::string::String, bool, std::string::String)`
    = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), diesel::pg::Pg>` for `blocklisted_emails::BlocklistedEmail`
    = note: required because of the requirements on the impl of `diesel::query_dsl::LoadQuery<diesel::PgConnection, blocklisted_emails::BlocklistedEmail>` for `diesel::query_builder::SelectStatement<schema::email_blocklist::table, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, diesel::query_builder::where_clause::WhereClause<diesel::expression::operators::Eq<schema::email_blocklist::columns::id, diesel::expression::bound::Bound<diesel::sql_types::Integer, i32>>>, diesel::query_builder::order_clause::NoOrderClause, diesel::query_builder::limit_clause::LimitClause<diesel::expression::bound::Bound<diesel::sql_types::BigInt, i64>>>`
error[E0277]: the trait bound `bool: diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::pg::Pg>` is not satisfied
   --> plume-models/src/lib.rs:212:18    |
212 |                 .first(conn)    |                  ^^^^^ the trait `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::pg::Pg>` is not implemented for `bool`    | 
   ::: plume-models/src/blocklisted_emails.rs:26:5
    |
26  |     get!(email_blocklist);
    |     ---------------------- in this macro invocation
    |
    = help: the following implementations were found:
              <bool as diesel::deserialize::FromSql<diesel::sql_types::Bool, diesel::pg::Pg>>
    = note: required because of the requirements on the impl of `diesel::Queryable<diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::pg::Pg>` for `bool`
    = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), diesel::pg::Pg>` for `(i32, std::string::String, std::string::String, bool, std::string::String)`
    = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), diesel::pg::Pg>` for `blocklisted_emails::BlocklistedEmail`
    = note: required because of the requirements on the impl of `diesel::query_dsl::LoadQuery<diesel::PgConnection, blocklisted_emails::BlocklistedEmail>` for `diesel::query_builder::SelectStatement<schema::email_blocklist::table, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, diesel::query_builder::where_clause::WhereClause<diesel::expression::operators::Eq<schema::email_blocklist::columns::id, diesel::expression::bound::Bound<diesel::sql_types::Integer, i32>>>, diesel::query_builder::order_clause::NoOrderClause, diesel::query_builder::limit_clause::LimitClause<diesel::expression::bound::Bound<diesel::sql_types::BigInt, i64>>>`

error[E0277]: the trait bound `*const str: diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::pg::Pg>` is not satisfied
   --> plume-models/src/lib.rs:212:18
    |
212 |                 .first(conn)
    |                  ^^^^^ the trait `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::pg::Pg>` is not implemented for `*const str`
    | 
   ::: plume-models/src/blocklisted_emails.rs:26:5
    |
26  |     get!(email_blocklist);
    |     ---------------------- in this macro invocation
    |
    = help: the following implementations were found:
              <*const [u8] as diesel::deserialize::FromSql<diesel::sql_types::Binary, DB>>
              <*const str as diesel::deserialize::FromSql<diesel::sql_types::Text, DB>>
    = note: required because of the requirements on the impl of `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::pg::Pg>` for `std::string::String`
    = note: required because of the requirements on the impl of `diesel::Queryable<diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::pg::Pg>` for `std::string::String`
    = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), diesel::pg::Pg>` for `(i32, std::string::String, std::string::String, bool, std::string::String)`
    = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), diesel::pg::Pg>` for `blocklisted_emails::BlocklistedEmail`
    = note: required because of the requirements on the impl of `diesel::query_dsl::LoadQuery<diesel::PgConnection, blocklisted_emails::BlocklistedEmail>` for `diesel::query_builder::SelectStatement<schema::email_blocklist::table, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, diesel::query_builder::where_clause::WhereClause<diesel::expression::operators::Eq<schema::email_blocklist::columns::id, diesel::expression::bound::Bound<diesel::sql_types::Integer, i32>>>, diesel::query_builder::order_clause::NoOrderClause, diesel::query_builder::limit_clause::LimitClause<diesel::expression::bound::Bound<diesel::sql_types::BigInt, i64>>>`

error[E0277]: the trait bound `bool: diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::pg::Pg>` is not satisfied
   --> plume-models/src/lib.rs:268:18
    |
268 |                 .first(conn)
    |                  ^^^^^ the trait `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::pg::Pg>` is not implemented for `bool`
    | 
   ::: plume-models/src/blocklisted_emails.rs:25:5
    |
25  |     insert!(email_blocklist, NewBlocklistedEmail);
    |     ---------------------------------------------- in this macro invocation
    |
    = help: the following implementations were found:
              <bool as diesel::deserialize::FromSql<diesel::sql_types::Bool, diesel::pg::Pg>>
    = note: required because of the requirements on the impl of `diesel::Queryable<diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::pg::Pg>` for `bool`
    = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), diesel::pg::Pg>` for `(i32, std::string::String, std::string::String, bool, std::string::String)`
    = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), diesel::pg::Pg>` for `blocklisted_emails::BlocklistedEmail`
    = note: required because of the requirements on the impl of `diesel::query_dsl::LoadQuery<diesel::PgConnection, blocklisted_emails::BlocklistedEmail>` for `diesel::query_builder::SelectStatement<schema::email_blocklist::table, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, diesel::query_builder::where_clause::NoWhereClause, diesel::query_builder::order_clause::OrderClause<diesel::expression::operators::Desc<schema::email_blocklist::columns::id>>, diesel::query_builder::limit_clause::LimitClause<diesel::expression::bound::Bound<diesel::sql_types::BigInt, i64>>>`

error[E0277]: the trait bound `*const str: diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::pg::Pg>` is not satisfied
   --> plume-models/src/lib.rs:268:18
    |
268 |                 .first(conn)
    |                  ^^^^^ the trait `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::pg::Pg>` is not implemented for `*const str`
    | 
   ::: plume-models/src/blocklisted_emails.rs:25:5
    |
25  |     insert!(email_blocklist, NewBlocklistedEmail);
    |     ---------------------------------------------- in this macro invocation
    |
    = help: the following implementations were found:
              <*const [u8] as diesel::deserialize::FromSql<diesel::sql_types::Binary, DB>>
              <*const str as diesel::deserialize::FromSql<diesel::sql_types::Text, DB>>
    = note: required because of the requirements on the impl of `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::pg::Pg>` for `std::string::String`
    = note: required because of the requirements on the impl of `diesel::Queryable<diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::pg::Pg>` for `std::string::String`
    = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), diesel::pg::Pg>` for `(i32, std::string::String, std::string::String, bool, std::string::String)`
    = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), diesel::pg::Pg>` for `blocklisted_emails::BlocklistedEmail`
    = note: required because of the requirements on the impl of `diesel::query_dsl::LoadQuery<diesel::PgConnection, blocklisted_emails::BlocklistedEmail>` for `diesel::query_builder::SelectStatement<schema::email_blocklist::table, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, diesel::query_builder::where_clause::NoWhereClause, diesel::query_builder::order_clause::OrderClause<diesel::expression::operators::Desc<schema::email_blocklist::columns::id>>, diesel::query_builder::limit_clause::LimitClause<diesel::expression::bound::Bound<diesel::sql_types::BigInt, i64>>>`

error[E0277]: the trait bound `bool: diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Bool>, _>` is not satisfied
  --> plume-models/src/blocklisted_emails.rs:40:14
   |
40 |             .load::<BlocklistedEmail>(conn)
   |              ^^^^ the trait `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Bool>, _>` is not implemented for `bool`
   |
   = help: the following implementations were found:
             <bool as diesel::deserialize::FromSql<diesel::sql_types::Bool, diesel::pg::Pg>>
   = note: required because of the requirements on the impl of `diesel::Queryable<diesel::sql_types::Nullable<diesel::sql_types::Bool>, _>` for `bool`
   = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), _>` for `(i32, std::string::String, std::string::String, bool, std::string::String)`
   = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), _>` for `blocklisted_emails::BlocklistedEmail`
   = note: required because of the requirements on the impl of `diesel::query_dsl::LoadQuery<_, blocklisted_emails::BlocklistedEmail>` for `diesel::query_builder::SelectStatement<schema::email_blocklist::table, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, diesel::query_builder::where_clause::WhereClause<diesel::expression::operators::Like<schema::email_blocklist::columns::email_address, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, std::string::String>>>>`

error[E0277]: the trait bound `*const str: diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>` is not satisfied
  --> plume-models/src/blocklisted_emails.rs:40:14
   |
40 |             .load::<BlocklistedEmail>(conn)
   |              ^^^^ the trait `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>` is not implemented for `*const str`
   |
   = help: the following implementations were found:
             <*const [u8] as diesel::deserialize::FromSql<diesel::sql_types::Binary, DB>>
             <*const str as diesel::deserialize::FromSql<diesel::sql_types::Text, DB>>
   = note: required because of the requirements on the impl of `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>` for `std::string::String`
   = note: required because of the requirements on the impl of `diesel::Queryable<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>` for `std::string::String`
   = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), _>` for `(i32, std::string::String, std::string::String, bool, std::string::String)`
   = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), _>` for `blocklisted_emails::BlocklistedEmail`
   = note: required because of the requirements on the impl of `diesel::query_dsl::LoadQuery<_, blocklisted_emails::BlocklistedEmail>` for `diesel::query_builder::SelectStatement<schema::email_blocklist::table, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, diesel::query_builder::where_clause::WhereClause<diesel::expression::operators::Like<schema::email_blocklist::columns::email_address, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, std::string::String>>>>`

error[E0277]: the trait bound `bool: diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Bool>, _>` is not satisfied
  --> plume-models/src/blocklisted_emails.rs:44:49
   |
44 |         let mut result = email_blocklist::table.load::<BlocklistedEmail>(conn)?;
   |                                                 ^^^^ the trait `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Bool>, _>` is not implemented for `bool`
   |
   = help: the following implementations were found:
             <bool as diesel::deserialize::FromSql<diesel::sql_types::Bool, diesel::pg::Pg>>
   = note: required because of the requirements on the impl of `diesel::Queryable<diesel::sql_types::Nullable<diesel::sql_types::Bool>, _>` for `bool`
   = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), _>` for `(i32, std::string::String, std::string::String, bool, std::string::String)`
   = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), _>` for `blocklisted_emails::BlocklistedEmail`
   = note: required because of the requirements on the impl of `diesel::query_dsl::LoadQuery<_, blocklisted_emails::BlocklistedEmail>` for `schema::email_blocklist::table`

error[E0277]: the trait bound `*const str: diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>` is not satisfied
  --> plume-models/src/blocklisted_emails.rs:44:49
   |
44 |         let mut result = email_blocklist::table.load::<BlocklistedEmail>(conn)?;
   |                                                 ^^^^ the trait `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>` is not implemented for `*const str`
   |
   = help: the following implementations were found:
             <*const [u8] as diesel::deserialize::FromSql<diesel::sql_types::Binary, DB>>
             <*const str as diesel::deserialize::FromSql<diesel::sql_types::Text, DB>>
   = note: required because of the requirements on the impl of `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>` for `std::string::String`
   = note: required because of the requirements on the impl of `diesel::Queryable<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>` for `std::string::String`
   = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), _>` for `(i32, std::string::String, std::string::String, bool, std::string::String)`
   = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), _>` for `blocklisted_emails::BlocklistedEmail`
   = note: required because of the requirements on the impl of `diesel::query_dsl::LoadQuery<_, blocklisted_emails::BlocklistedEmail>` for `schema::email_blocklist::table`

error[E0277]: the trait bound `bool: diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Bool>, _>` is not satisfied
  --> plume-models/src/blocklisted_emails.rs:58:14
   |
58 |             .load::<BlocklistedEmail>(conn)
   |              ^^^^ the trait `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Bool>, _>` is not implemented for `bool`
   |
   = help: the following implementations were found:
             <bool as diesel::deserialize::FromSql<diesel::sql_types::Bool, diesel::pg::Pg>>
   = note: required because of the requirements on the impl of `diesel::Queryable<diesel::sql_types::Nullable<diesel::sql_types::Bool>, _>` for `bool`
   = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), _>` for `(i32, std::string::String, std::string::String, bool, std::string::String)`
   = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), _>` for `blocklisted_emails::BlocklistedEmail`
   = note: required because of the requirements on the impl of `diesel::query_dsl::LoadQuery<_, blocklisted_emails::BlocklistedEmail>` for `diesel::query_builder::SelectStatement<schema::email_blocklist::table, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, diesel::query_builder::where_clause::NoWhereClause, diesel::query_builder::order_clause::NoOrderClause, diesel::query_builder::limit_clause::LimitClause<diesel::expression::bound::Bound<diesel::sql_types::BigInt, i64>>, diesel::query_builder::offset_clause::OffsetClause<diesel::expression::bound::Bound<diesel::sql_types::BigInt, i64>>>`

error[E0277]: the trait bound `*const str: diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>` is not satisfied
  --> plume-models/src/blocklisted_emails.rs:58:14
   |
58 |             .load::<BlocklistedEmail>(conn)
   |              ^^^^ the trait `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>` is not implemented for `*const str`
   |
   = help: the following implementations were found:
             <*const [u8] as diesel::deserialize::FromSql<diesel::sql_types::Binary, DB>>
             <*const str as diesel::deserialize::FromSql<diesel::sql_types::Text, DB>>
   = note: required because of the requirements on the impl of `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>` for `std::string::String`
   = note: required because of the requirements on the impl of `diesel::Queryable<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>` for `std::string::String`
   = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), _>` for `(i32, std::string::String, std::string::String, bool, std::string::String)`
   = note: required because of the requirements on the impl of `diesel::Queryable<(diesel::sql_types::Integer, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Text>, diesel::sql_types::Nullable<diesel::sql_types::Bool>, diesel::sql_types::Nullable<diesel::sql_types::Text>), _>` for `blocklisted_emails::BlocklistedEmail`
   = note: required because of the requirements on the impl of `diesel::query_dsl::LoadQuery<_, blocklisted_emails::BlocklistedEmail>` for `diesel::query_builder::SelectStatement<schema::email_blocklist::table, diesel::query_builder::select_clause::DefaultSelectClause, diesel::query_builder::distinct_clause::NoDistinctClause, diesel::query_builder::where_clause::NoWhereClause, diesel::query_builder::order_clause::NoOrderClause, diesel::query_builder::limit_clause::LimitClause<diesel::expression::bound::Bound<diesel::sql_types::BigInt, i64>>, diesel::query_builder::offset_clause::OffsetClause<diesel::expression::bound::Bound<diesel::sql_types::BigInt, i64>>>`

error: aborting due to 12 previous errors

For more information about this error, try `rustc --explain E0277`.
error: failed to compile `plume-cli v0.4.0 (/home/plume/plume/plume-cli)`, intermediate artifacts can be found at `/home/plume/plume/target`

Caused by:
  could not compile `plume-models`.

To learn more, run the command again with --verbose.
KitaitiMakoto commented 4 years ago

@Amolith Thank you for trying and reporting! Can you let us know your OS version, rust version, cargo version and Plume git commit digest?

KitaitiMakoto commented 4 years ago

Ah, sorry, Plume git commit digest is 0.5.0 tag(d99b425), right?

Amolith commented 4 years ago

My server is running Debian 10, rustc is 1.42.0-nightly, and the git commit is d99b42582d7a5a8c8087b6ebe067b944cae0c294.

However, after recloning and rebuilding, there were no errors so I'm closing :thinking:

KitaitiMakoto commented 4 years ago

Thank you for trying!