[INFO] cloning repository https://github.com/traxys/bouquineur
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/traxys/bouquineur" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftraxys%2Fbouquineur", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftraxys%2Fbouquineur'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 36794df2835514a3b320ffad29db7c21b3405f55
[INFO] checking traxys/bouquineur against try#95813608313bff49cfc1afc393a946a3c085b772 for pr-148946
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftraxys%2Fbouquineur" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/traxys/bouquineur
[INFO] finished tweaking git repo https://github.com/traxys/bouquineur
[INFO] tweaked toml for git repo https://github.com/traxys/bouquineur written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/traxys/bouquineur on toolchain 95813608313bff49cfc1afc393a946a3c085b772
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/traxys/bouquineur already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 86683fea67ca6d3763040559030ac4d9c3da82cbed2f13142b174fd61eb1bb8e
[INFO] running `Command { std: "docker" "start" "-a" "86683fea67ca6d3763040559030ac4d9c3da82cbed2f13142b174fd61eb1bb8e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "86683fea67ca6d3763040559030ac4d9c3da82cbed2f13142b174fd61eb1bb8e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86683fea67ca6d3763040559030ac4d9c3da82cbed2f13142b174fd61eb1bb8e", kill_on_drop: false }`
[INFO] [stdout] 86683fea67ca6d3763040559030ac4d9c3da82cbed2f13142b174fd61eb1bb8e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+95813608313bff49cfc1afc393a946a3c085b772" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] df95727be86d6a0350c367d3cc2ad55476f0465a35016bcecb5d4c397178ff06
[INFO] running `Command { std: "docker" "start" "-a" "df95727be86d6a0350c367d3cc2ad55476f0465a35016bcecb5d4c397178ff06", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.204
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling syn v2.0.72
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]    Compiling indexmap v2.3.0
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]    Compiling built v0.7.4
[INFO] [stderr]    Compiling winnow v0.6.18
[INFO] [stderr]    Compiling pq-sys v0.6.1
[INFO] [stderr]     Checking mac v0.1.1
[INFO] [stderr]    Compiling rustls v0.23.12
[INFO] [stderr]     Checking futf v0.1.5
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking phf_shared v0.10.0
[INFO] [stderr]     Checking bytemuck v1.16.3
[INFO] [stderr]     Checking regex-automata v0.4.7
[INFO] [stderr]     Checking tendril v0.4.3
[INFO] [stderr]     Checking flate2 v1.0.31
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking rustls-pemfile v2.1.3
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]     Checking imgref v1.10.1
[INFO] [stderr]     Checking stringprep v0.1.5
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking bitstream-io v2.5.0
[INFO] [stderr]    Compiling serde_json v1.0.122
[INFO] [stderr]     Checking rustls-native-certs v0.7.1
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking rgb v0.8.45
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking avif-serialize v0.8.1
[INFO] [stderr]    Compiling axum v0.7.5
[INFO] [stderr]     Checking whoami v1.5.1
[INFO] [stderr]     Checking deadpool-runtime v0.1.4
[INFO] [stderr]     Checking url v2.5.2
[INFO] [stderr]     Checking image-webp v0.1.3
[INFO] [stderr]     Checking zune-jpeg v0.4.13
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking rustix v0.38.34
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking scoped-futures v0.1.3
[INFO] [stderr]     Checking dissimilar v1.0.9
[INFO] [stderr]     Checking roxmltree v0.20.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking expect-test v1.5.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]     Checking tempfile v3.11.0
[INFO] [stderr]     Checking regex v1.10.6
[INFO] [stderr]     Checking bstr v1.10.0
[INFO] [stderr]     Checking rustls-webpki v0.102.6
[INFO] [stderr]     Checking parse_datetime v0.6.0
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]    Compiling diesel_table_macro_syntax v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.204
[INFO] [stderr]    Compiling zerocopy-derive v0.6.6
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]    Compiling async-trait v0.1.81
[INFO] [stderr]    Compiling profiling-procmacros v1.0.15
[INFO] [stderr]    Compiling html5ever v0.27.0
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling maud_macros v0.26.0
[INFO] [stderr]     Checking profiling v1.0.15
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking tokio v1.39.2
[INFO] [stderr]     Checking thiserror v1.0.63
[INFO] [stderr]     Checking pest v2.7.11
[INFO] [stderr]    Compiling zerocopy v0.6.6
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.18
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling pest_meta v2.7.11
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]    Compiling dsl_auto_type v0.1.2
[INFO] [stderr]     Checking postgres-protocol v0.6.7
[INFO] [stderr]    Compiling diesel_derives v2.2.2
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]    Compiling phf_codegen v0.11.2
[INFO] [stderr]    Compiling string_cache_codegen v0.5.2
[INFO] [stderr]     Checking postgres-types v0.2.7
[INFO] [stderr]    Compiling pest_generator v2.7.11
[INFO] [stderr]    Compiling markup5ever v0.12.1
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking multer v3.1.0
[INFO] [stderr]     Checking axum-core v0.4.3
[INFO] [stderr]    Compiling pest_derive v2.7.11
[INFO] [stderr]     Checking human-date-parser v0.1.2
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking hyper v1.4.1
[INFO] [stderr]     Checking tokio-util v0.7.11
[INFO] [stderr]     Checking tokio-rustls v0.26.0
[INFO] [stderr]     Checking deadpool v0.12.1
[INFO] [stderr]     Checking tokio-postgres v0.7.11
[INFO] [stderr]    Compiling serde_spanned v0.6.7
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling toml_edit v0.22.20
[INFO] [stderr]     Checking hyper-util v0.1.6
[INFO] [stderr]     Checking string_cache v0.8.7
[INFO] [stderr]     Checking uuid v1.10.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_path_to_error v0.1.16
[INFO] [stderr]     Checking maud v0.26.0
[INFO] [stderr]     Checking hyper-rustls v0.27.2
[INFO] [stderr]     Checking ravif v0.11.9
[INFO] [stderr]     Checking reqwest v0.12.5
[INFO] [stderr]     Checking image v0.25.2
[INFO] [stderr]     Checking ammonia v4.0.0
[INFO] [stderr]     Checking toml v0.8.19
[INFO] [stderr]     Checking diesel v2.2.2
[INFO] [stderr]     Checking migrations_internals v2.2.0
[INFO] [stderr]    Compiling migrations_macros v2.2.0
[INFO] [stderr]     Checking diesel_migrations v2.2.0
[INFO] [stderr]     Checking diesel-async v0.5.0
[INFO] [stderr]     Checking bouquineur v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 27 ~             diesel::RunQueryDsl::execute(diesel::insert_into(author::table)
[INFO] [stdout] 28 +                 .values(&data.authors)
[INFO] [stdout] 29 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 27 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(author::table)
[INFO] [stdout] 28 +                 .values(&data.authors)
[INFO] [stdout] 29 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 33 ~             diesel::RunQueryDsl::execute(diesel::insert_into(tag::table)
[INFO] [stdout] 34 +                 .values(&data.tags)
[INFO] [stdout] 35 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 33 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(tag::table)
[INFO] [stdout] 34 +                 .values(&data.tags)
[INFO] [stdout] 35 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:42:18
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 .get_result(c)
[INFO] [stdout]    |                  ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 39 ~             let book_id: Uuid = diesel::RunQueryDsl::get_result(diesel::insert_into(book::table)
[INFO] [stdout] 40 +                 .values(data.book)
[INFO] [stdout] 41 +                 .returning(book::id), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 39 ~             let book_id: Uuid = diesel_async::RunQueryDsl::get_result(diesel::insert_into(book::table)
[INFO] [stdout] 40 +                 .values(data.book)
[INFO] [stdout] 41 +                 .returning(book::id), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:55:22
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     .execute(c)
[INFO] [stdout]    |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 52 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(series::table)
[INFO] [stdout] 53 +                     .values(&series)
[INFO] [stdout] 54 +                     .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 52 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(series::table)
[INFO] [stdout] 53 +                     .values(&series)
[INFO] [stdout] 54 +                     .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:61:22
[INFO] [stdout]    |
[INFO] [stdout] 61 |                     .first(c)
[INFO] [stdout]    |                      ^^^^^ multiple `first` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 58 ~                 let series_id = diesel_async::RunQueryDsl::first(series::table
[INFO] [stdout] 59 +                     .filter(series::owner.eq(user.id).and(series::name.eq(&name)))
[INFO] [stdout] 60 +                     .select(series::id), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 58 ~                 let series_id = diesel::RunQueryDsl::first(series::table
[INFO] [stdout] 59 +                     .filter(series::owner.eq(user.id).and(series::name.eq(&name)))
[INFO] [stdout] 60 +                     .select(series::id), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:72:22
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     .execute(c)
[INFO] [stdout]    |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 70 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(bookseries::table)
[INFO] [stdout] 71 +                     .values(&book_series), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 70 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(bookseries::table)
[INFO] [stdout] 71 +                     .values(&book_series), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 .load(c)
[INFO] [stdout]    |                  ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 76 ~             let author_ids: Vec<i32> = diesel_async::RunQueryDsl::load(author::table
[INFO] [stdout] 77 +                 .filter(author::name.eq_any(&data.authors))
[INFO] [stdout] 78 +                 .select(author::id), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 76 ~             let author_ids: Vec<i32> = diesel::RunQueryDsl::load(author::table
[INFO] [stdout] 77 +                 .filter(author::name.eq_any(&data.authors))
[INFO] [stdout] 78 +                 .select(author::id), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 82 ~             diesel::RunQueryDsl::execute(diesel::insert_into(bookauthor::table)
[INFO] [stdout] 83 +                 .values(
[INFO] [stdout] 84 +                     &author_ids
[INFO] [stdout] 85 +                         .into_iter()
[INFO] [stdout] 86 +                         .map(|author| BookAuthor {
[INFO] [stdout] 87 +                             book: book_id,
[INFO] [stdout] 88 +                             author,
[INFO] [stdout] 89 +                         })
[INFO] [stdout] 90 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 91 +                 ), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 82 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(bookauthor::table)
[INFO] [stdout] 83 +                 .values(
[INFO] [stdout] 84 +                     &author_ids
[INFO] [stdout] 85 +                         .into_iter()
[INFO] [stdout] 86 +                         .map(|author| BookAuthor {
[INFO] [stdout] 87 +                             book: book_id,
[INFO] [stdout] 88 +                             author,
[INFO] [stdout] 89 +                         })
[INFO] [stdout] 90 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 91 +                 ), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:98:18
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 .load(c)
[INFO] [stdout]    |                  ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 95 ~             let tag_ids: Vec<i32> = diesel_async::RunQueryDsl::load(tag::table
[INFO] [stdout] 96 +                 .filter(tag::name.eq_any(&data.tags))
[INFO] [stdout] 97 +                 .select(tag::id), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 95 ~             let tag_ids: Vec<i32> = diesel::RunQueryDsl::load(tag::table
[INFO] [stdout] 96 +                 .filter(tag::name.eq_any(&data.tags))
[INFO] [stdout] 97 +                 .select(tag::id), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/add.rs:108:18
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 .execute(c)
[INFO] [stdout]     |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 101 ~             diesel::RunQueryDsl::execute(diesel::insert_into(booktag::table)
[INFO] [stdout] 102 +                 .values(
[INFO] [stdout] 103 +                     &tag_ids
[INFO] [stdout] 104 +                         .into_iter()
[INFO] [stdout] 105 +                         .map(|tag| BookTag { book: book_id, tag })
[INFO] [stdout] 106 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 107 +                 ), c)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 101 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(booktag::table)
[INFO] [stdout] 102 +                 .values(
[INFO] [stdout] 103 +                     &tag_ids
[INFO] [stdout] 104 +                         .into_iter()
[INFO] [stdout] 105 +                         .map(|tag| BookTag { book: book_id, tag })
[INFO] [stdout] 106 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 107 +                 ), c)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/add.rs:182:18
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 .get_result(&mut conn)
[INFO] [stdout]     |                  ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 179 ~             let found: i64 = diesel_async::RunQueryDsl::get_result(book::table
[INFO] [stdout] 180 +                 .filter(book::owner.eq(user.id).and(book::isbn.eq(&isbn)))
[INFO] [stdout] 181 +                 .count(), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 179 ~             let found: i64 = diesel::RunQueryDsl::get_result(book::table
[INFO] [stdout] 180 +                 .filter(book::owner.eq(user.id).and(book::isbn.eq(&isbn)))
[INFO] [stdout] 181 +                 .count(), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 28 ~     let has_book: i64 = diesel_async::RunQueryDsl::get_result(book::table
[INFO] [stdout] 29 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 30 +         .find(*id)
[INFO] [stdout] 31 +         .count(), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 28 ~     let has_book: i64 = diesel::RunQueryDsl::get_result(book::table
[INFO] [stdout] 29 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 30 +         .find(*id)
[INFO] [stdout] 31 +         .count(), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 41 ~             diesel::RunQueryDsl::execute(diesel::delete(bookauthor::table)
[INFO] [stdout] 42 +                 .filter(bookauthor::book.eq(*id)), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 41 ~             diesel_async::RunQueryDsl::execute(diesel::delete(bookauthor::table)
[INFO] [stdout] 42 +                 .filter(bookauthor::book.eq(*id)), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:48:18
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 46 ~             diesel::RunQueryDsl::execute(diesel::delete(booktag::table)
[INFO] [stdout] 47 +                 .filter(booktag::book.eq(*id)), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 46 ~             diesel_async::RunQueryDsl::execute(diesel::delete(booktag::table)
[INFO] [stdout] 47 +                 .filter(booktag::book.eq(*id)), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:54:18
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 51 ~             diesel::RunQueryDsl::execute(diesel::insert_into(author::table)
[INFO] [stdout] 52 +                 .values(&data.authors)
[INFO] [stdout] 53 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 51 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(author::table)
[INFO] [stdout] 52 +                 .values(&data.authors)
[INFO] [stdout] 53 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 57 ~             diesel::RunQueryDsl::execute(diesel::insert_into(tag::table)
[INFO] [stdout] 58 +                 .values(&data.tags)
[INFO] [stdout] 59 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 57 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(tag::table)
[INFO] [stdout] 58 +                 .values(&data.tags)
[INFO] [stdout] 59 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:65:18
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 63 ~             diesel_async::RunQueryDsl::execute(diesel::update(&BookId { id: *id })
[INFO] [stdout] 64 +                 .set(data.book), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 63 ~             diesel::RunQueryDsl::execute(diesel::update(&BookId { id: *id })
[INFO] [stdout] 64 +                 .set(data.book), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:78:22
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     .execute(c)
[INFO] [stdout]    |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 75 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(series::table)
[INFO] [stdout] 76 +                     .values(&series)
[INFO] [stdout] 77 +                     .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 75 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(series::table)
[INFO] [stdout] 76 +                     .values(&series)
[INFO] [stdout] 77 +                     .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:84:22
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     .first(c)
[INFO] [stdout]    |                      ^^^^^ multiple `first` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 81 ~                 let series_id = diesel_async::RunQueryDsl::first(series::table
[INFO] [stdout] 82 +                     .filter(series::owner.eq(user.id).and(series::name.eq(&name)))
[INFO] [stdout] 83 +                     .select(series::id), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 81 ~                 let series_id = diesel::RunQueryDsl::first(series::table
[INFO] [stdout] 82 +                     .filter(series::owner.eq(user.id).and(series::name.eq(&name)))
[INFO] [stdout] 83 +                     .select(series::id), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:98:22
[INFO] [stdout]    |
[INFO] [stdout] 98 |                     .execute(c)
[INFO] [stdout]    |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 93 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(bookseries::table)
[INFO] [stdout] 94 +                     .values(&book_series)
[INFO] [stdout] 95 +                     .on_conflict(bookseries::book)
[INFO] [stdout] 96 +                     .do_update()
[INFO] [stdout] 97 +                     .set(&book_series), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 93 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(bookseries::table)
[INFO] [stdout] 94 +                     .values(&book_series)
[INFO] [stdout] 95 +                     .on_conflict(bookseries::book)
[INFO] [stdout] 96 +                     .do_update()
[INFO] [stdout] 97 +                     .set(&book_series), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/edit.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 .load(c)
[INFO] [stdout]     |                  ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 102 ~             let author_ids: Vec<i32> = diesel_async::RunQueryDsl::load(author::table
[INFO] [stdout] 103 +                 .filter(author::name.eq_any(&data.authors))
[INFO] [stdout] 104 +                 .select(author::id), c)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 102 ~             let author_ids: Vec<i32> = diesel::RunQueryDsl::load(author::table
[INFO] [stdout] 103 +                 .filter(author::name.eq_any(&data.authors))
[INFO] [stdout] 104 +                 .select(author::id), c)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/edit.rs:115:18
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 .execute(c)
[INFO] [stdout]     |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 108 ~             diesel::RunQueryDsl::execute(diesel::insert_into(bookauthor::table)
[INFO] [stdout] 109 +                 .values(
[INFO] [stdout] 110 +                     &author_ids
[INFO] [stdout] 111 +                         .into_iter()
[INFO] [stdout] 112 +                         .map(|author| BookAuthor { book: *id, author })
[INFO] [stdout] 113 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 114 +                 ), c)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 108 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(bookauthor::table)
[INFO] [stdout] 109 +                 .values(
[INFO] [stdout] 110 +                     &author_ids
[INFO] [stdout] 111 +                         .into_iter()
[INFO] [stdout] 112 +                         .map(|author| BookAuthor { book: *id, author })
[INFO] [stdout] 113 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 114 +                 ), c)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/edit.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 .load(c)
[INFO] [stdout]     |                  ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 118 ~             let tag_ids: Vec<i32> = diesel_async::RunQueryDsl::load(tag::table
[INFO] [stdout] 119 +                 .filter(tag::name.eq_any(&data.tags))
[INFO] [stdout] 120 +                 .select(tag::id), c)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 118 ~             let tag_ids: Vec<i32> = diesel::RunQueryDsl::load(tag::table
[INFO] [stdout] 119 +                 .filter(tag::name.eq_any(&data.tags))
[INFO] [stdout] 120 +                 .select(tag::id), c)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/edit.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 .execute(c)
[INFO] [stdout]     |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 124 ~             diesel::RunQueryDsl::execute(diesel::insert_into(booktag::table)
[INFO] [stdout] 125 +                 .values(
[INFO] [stdout] 126 +                     &tag_ids
[INFO] [stdout] 127 +                         .into_iter()
[INFO] [stdout] 128 +                         .map(|tag| BookTag { book: *id, tag })
[INFO] [stdout] 129 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 130 +                 ), c)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 124 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(booktag::table)
[INFO] [stdout] 125 +                 .values(
[INFO] [stdout] 126 +                     &tag_ids
[INFO] [stdout] 127 +                         .into_iter()
[INFO] [stdout] 128 +                         .map(|tag| BookTag { book: *id, tag })
[INFO] [stdout] 129 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 130 +                 ), c)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/edit.rs:178:10
[INFO] [stdout]     |
[INFO] [stdout] 178 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 174 ~     let book = diesel_async::RunQueryDsl::get_result(book::table
[INFO] [stdout] 175 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 176 +         .find(*id)
[INFO] [stdout] 177 +         .select(BookComplete::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 174 ~     let book = diesel::RunQueryDsl::get_result(book::table
[INFO] [stdout] 175 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 176 +         .find(*id)
[INFO] [stdout] 177 +         .select(BookComplete::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/routes/edit.rs:174:16
[INFO] [stdout]     |
[INFO] [stdout] 174 |       let book = book::table
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 175 | |         .filter(book::owner.eq(user.id))
[INFO] [stdout] 176 | |         .find(*id)
[INFO] [stdout] 177 | |         .select(BookComplete::as_select())
[INFO] [stdout] 178 | |         .get_result(&mut conn)
[INFO] [stdout] 179 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/edit.rs:189:10
[INFO] [stdout]     |
[INFO] [stdout] 189 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 185 ~     let series = diesel_async::RunQueryDsl::get_result(bookseries::table
[INFO] [stdout] 186 +         .find(*id)
[INFO] [stdout] 187 +         .inner_join(series::table)
[INFO] [stdout] 188 +         .select((series::name, bookseries::number)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 185 ~     let series = diesel::RunQueryDsl::get_result(bookseries::table
[INFO] [stdout] 186 +         .find(*id)
[INFO] [stdout] 187 +         .inner_join(series::table)
[INFO] [stdout] 188 +         .select((series::name, bookseries::number)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/routes/edit.rs:185:18
[INFO] [stdout]     |
[INFO] [stdout] 185 |       let series = bookseries::table
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 186 | |         .find(*id)
[INFO] [stdout] 187 | |         .inner_join(series::table)
[INFO] [stdout] 188 | |         .select((series::name, bookseries::number))
[INFO] [stdout] 189 | |         .get_result(&mut conn)
[INFO] [stdout] 190 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit_series.rs:80:10
[INFO] [stdout]    |
[INFO] [stdout] 80 |         .execute(&mut conn)
[INFO] [stdout]    |          ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 77 ~     diesel_async::RunQueryDsl::execute(diesel::update(series::table)
[INFO] [stdout] 78 +         .filter(series::id.eq(*id).and(series::owner.eq(user.id)))
[INFO] [stdout] 79 +         .set(form.changeset()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 77 ~     diesel::RunQueryDsl::execute(diesel::update(series::table)
[INFO] [stdout] 78 +         .filter(series::id.eq(*id).and(series::owner.eq(user.id)))
[INFO] [stdout] 79 +         .set(form.changeset()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit_series.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 93 ~     let s = diesel_async::RunQueryDsl::get_result(series::table
[INFO] [stdout] 94 +         .find(*id)
[INFO] [stdout] 95 +         .filter(series::owner.eq(user.id))
[INFO] [stdout] 96 +         .select(SeriesInfo::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 93 ~     let s = diesel::RunQueryDsl::get_result(series::table
[INFO] [stdout] 94 +         .find(*id)
[INFO] [stdout] 95 +         .filter(series::owner.eq(user.id))
[INFO] [stdout] 96 +         .select(SeriesInfo::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/routes/edit_series.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |       let s = series::table
[INFO] [stdout]    |  _____________^
[INFO] [stdout] 94 | |         .find(*id)
[INFO] [stdout] 95 | |         .filter(series::owner.eq(user.id))
[INFO] [stdout] 96 | |         .select(SeriesInfo::as_select())
[INFO] [stdout] 97 | |         .get_result(&mut conn)
[INFO] [stdout] 98 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/get_author.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 22 ~     let author_info = diesel_async::RunQueryDsl::get_result(author::table
[INFO] [stdout] 23 +         .find(*id)
[INFO] [stdout] 24 +         .select(Author::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 22 ~     let author_info = diesel::RunQueryDsl::get_result(author::table
[INFO] [stdout] 23 +         .find(*id)
[INFO] [stdout] 24 +         .select(Author::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/routes/get_author.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |       let author_info = author::table
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 23 | |         .find(*id)
[INFO] [stdout] 24 | |         .select(Author::as_select())
[INFO] [stdout] 25 | |         .get_result(&mut conn)
[INFO] [stdout] 26 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/get_book.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 22 ~     let book = diesel_async::RunQueryDsl::get_result(book::table
[INFO] [stdout] 23 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 24 +         .find(*id)
[INFO] [stdout] 25 +         .select(BookComplete::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 22 ~     let book = diesel::RunQueryDsl::get_result(book::table
[INFO] [stdout] 23 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 24 +         .find(*id)
[INFO] [stdout] 25 +         .select(BookComplete::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/routes/get_book.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |       let book = book::table
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 23 | |         .filter(book::owner.eq(user.id))
[INFO] [stdout] 24 | |         .find(*id)
[INFO] [stdout] 25 | |         .select(BookComplete::as_select())
[INFO] [stdout] 26 | |         .get_result(&mut conn)
[INFO] [stdout] 27 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/get_book.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |         .first(&mut conn)
[INFO] [stdout]    |          ^^^^^ multiple `first` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 33 ~     let series: Option<(String, i32, Uuid)> = diesel_async::RunQueryDsl::first(bookseries::table
[INFO] [stdout] 34 +         .find(*id)
[INFO] [stdout] 35 +         .inner_join(series::table)
[INFO] [stdout] 36 +         .select((series::name, bookseries::number, series::id)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 33 ~     let series: Option<(String, i32, Uuid)> = diesel::RunQueryDsl::first(bookseries::table
[INFO] [stdout] 34 +         .find(*id)
[INFO] [stdout] 35 +         .inner_join(series::table)
[INFO] [stdout] 36 +         .select((series::name, bookseries::number, series::id)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/routes/get_book.rs:33:47
[INFO] [stdout]    |
[INFO] [stdout] 33 |       let series: Option<(String, i32, Uuid)> = bookseries::table
[INFO] [stdout]    |  _______________________________________________^
[INFO] [stdout] 34 | |         .find(*id)
[INFO] [stdout] 35 | |         .inner_join(series::table)
[INFO] [stdout] 36 | |         .select((series::name, bookseries::number, series::id))
[INFO] [stdout] 37 | |         .first(&mut conn)
[INFO] [stdout] 38 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/routes/get_book.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let authors = BookAuthor::belonging_to(&book)
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |                     @for (i, author) in authors.iter().enumerate() {
[INFO] [stdout]    |                                         ------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `authors` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let authors: /* Type */ = BookAuthor::belonging_to(&book)
[INFO] [stdout]    |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/routes/get_book.rs:110:51
[INFO] [stdout]     |
[INFO] [stdout] 110 | ...                   "Publication date: " (date.format("%d/%m/%Y"))
[INFO] [stdout]     |                                             ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/get_series.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     let series_info = diesel_async::RunQueryDsl::get_result(series::table
[INFO] [stdout] 24 +         .find(*id)
[INFO] [stdout] 25 +         .filter(series::owner.eq(user.id))
[INFO] [stdout] 26 +         .select(SeriesInfo::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     let series_info = diesel::RunQueryDsl::get_result(series::table
[INFO] [stdout] 24 +         .find(*id)
[INFO] [stdout] 25 +         .filter(series::owner.eq(user.id))
[INFO] [stdout] 26 +         .select(SeriesInfo::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/routes/get_series.rs:23:23
[INFO] [stdout]    |
[INFO] [stdout] 23 |       let series_info = series::table
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 24 | |         .find(*id)
[INFO] [stdout] 25 | |         .filter(series::owner.eq(user.id))
[INFO] [stdout] 26 | |         .select(SeriesInfo::as_select())
[INFO] [stdout] 27 | |         .get_result(&mut conn)
[INFO] [stdout] 28 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/get_series.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 |         .get_results(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^^ multiple `get_results` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 34 ~     let series = diesel_async::RunQueryDsl::get_results(bookseries::table
[INFO] [stdout] 35 +         .inner_join(book::table)
[INFO] [stdout] 36 +         .filter(bookseries::series.eq(*id))
[INFO] [stdout] 37 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 38 +         .select(BookPreview::as_select())
[INFO] [stdout] 39 +         .order(bookseries::number.asc()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 34 ~     let series = diesel::RunQueryDsl::get_results(bookseries::table
[INFO] [stdout] 35 +         .inner_join(book::table)
[INFO] [stdout] 36 +         .filter(bookseries::series.eq(*id))
[INFO] [stdout] 37 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 38 +         .select(BookPreview::as_select())
[INFO] [stdout] 39 +         .order(bookseries::number.asc()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[BookPreview]` cannot be known at compilation time
[INFO] [stdout]   --> src/routes/get_series.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let series = bookseries::table
[INFO] [stdout]    |         ^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Sized` is not implemented for `[BookPreview]`
[INFO] [stdout]    = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[BookPreview]` cannot be known at compilation time
[INFO] [stdout]   --> src/routes/get_series.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let series = bookseries::table
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 35 | |         .inner_join(book::table)
[INFO] [stdout] 36 | |         .filter(bookseries::series.eq(*id))
[INFO] [stdout] 37 | |         .filter(book::owner.eq(user.id))
[INFO] [stdout] ...  |
[INFO] [stdout] 40 | |         .get_results(&mut conn)
[INFO] [stdout] 41 | |         .await?;
[INFO] [stdout]    | |_______________^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Sized` is not implemented for `[BookPreview]`
[INFO] [stdout]    = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[BookPreview]` cannot be known at compilation time
[INFO] [stdout]   --> src/routes/get_series.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 |         .await?;
[INFO] [stdout]    |               ^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Sized` is not implemented for `[BookPreview]`
[INFO] [stdout] note: required by an implicit `Sized` bound in `ControlFlow`
[INFO] [stdout]   --> /rustc/95813608313bff49cfc1afc393a946a3c085b772/library/core/src/ops/control_flow.rs:89:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/ongoing.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 |         .get_results::<MissingVolume>(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^^ multiple `get_results` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SqlQuery<Inner>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 50 ~         let missing_books = diesel::RunQueryDsl::get_results(diesel::sql_query(format!(
[INFO] [stdout] 51 +             r#"
[INFO] [stdout] 52 +         SELECT id as series, number 
[INFO] [stdout] 53 +         FROM series, generate_series(1, total_count) as number 
[INFO] [stdout] 54 +         WHERE total_count IS NOT NULL
[INFO] [stdout] 55 +                 AND id IN({missing_ids})
[INFO] [stdout] 56 +         EXCEPT
[INFO] [stdout] 57 +         SELECT series, number FROM bookseries;
[INFO] [stdout] 58 +     "#
[INFO] [stdout] 59 +         )), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 50 ~         let missing_books = diesel_async::RunQueryDsl::get_results(diesel::sql_query(format!(
[INFO] [stdout] 51 +             r#"
[INFO] [stdout] 52 +         SELECT id as series, number 
[INFO] [stdout] 53 +         FROM series, generate_series(1, total_count) as number 
[INFO] [stdout] 54 +         WHERE total_count IS NOT NULL
[INFO] [stdout] 55 +                 AND id IN({missing_ids})
[INFO] [stdout] 56 +         EXCEPT
[INFO] [stdout] 57 +         SELECT series, number FROM bookseries;
[INFO] [stdout] 58 +     "#
[INFO] [stdout] 59 +         )), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/routes/ongoing.rs:76:20
[INFO] [stdout]    |
[INFO] [stdout] 76 |         .for_each(|v| v.sort_unstable());
[INFO] [stdout]    |                    ^  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 76 |         .for_each(|v: /* Type */| v.sort_unstable());
[INFO] [stdout]    |                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/ongoing.rs:144:10
[INFO] [stdout]     |
[INFO] [stdout] 144 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 140 ~     let user = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 141 +         .find(user)
[INFO] [stdout] 142 +         .filter(users::public_ongoing.eq(true))
[INFO] [stdout] 143 +         .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 140 ~     let user = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 141 +         .find(user)
[INFO] [stdout] 142 +         .filter(users::public_ongoing.eq(true))
[INFO] [stdout] 143 +         .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/routes/ongoing.rs:140:16
[INFO] [stdout]     |
[INFO] [stdout] 140 |       let user = users::table
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 141 | |         .find(user)
[INFO] [stdout] 142 | |         .filter(users::public_ongoing.eq(true))
[INFO] [stdout] 143 | |         .select(User::as_select())
[INFO] [stdout] 144 | |         .get_result(&mut conn)
[INFO] [stdout] 145 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/profile.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 |         .execute(&mut conn)
[INFO] [stdout]    |          ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 29 ~     diesel_async::RunQueryDsl::execute(diesel::update(users::table)
[INFO] [stdout] 30 +         .filter(users::id.eq(user.id))
[INFO] [stdout] 31 +         .set(ProfileEdit {
[INFO] [stdout] 32 +             public_ongoing: form.ongoing_box.is_some(),
[INFO] [stdout] 33 +         }), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 29 ~     diesel::RunQueryDsl::execute(diesel::update(users::table)
[INFO] [stdout] 30 +         .filter(users::id.eq(user.id))
[INFO] [stdout] 31 +         .set(ProfileEdit {
[INFO] [stdout] 32 +             public_ongoing: form.ongoing_box.is_some(),
[INFO] [stdout] 33 +         }), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/profile.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 43 ~     let profile = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 44 +         .find(user.id)
[INFO] [stdout] 45 +         .select(ProfileEdit::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 43 ~     let profile = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 44 +         .find(user.id)
[INFO] [stdout] 45 +         .select(ProfileEdit::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/unread.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |         .load(&mut conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 19 ~     let unread: Vec<(BookPreview, Option<SeriesInfo>)> = diesel_async::RunQueryDsl::load(book::table
[INFO] [stdout] 20 +         .filter(book::read.eq(false).and(book::owner.eq(user.id)))
[INFO] [stdout] 21 +         .left_join(bookseries::table.inner_join(series::table))
[INFO] [stdout] 22 +         .select((BookPreview::as_select(), Option::<SeriesInfo>::as_select())), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 19 ~     let unread: Vec<(BookPreview, Option<SeriesInfo>)> = diesel::RunQueryDsl::load(book::table
[INFO] [stdout] 20 +         .filter(book::read.eq(false).and(book::owner.eq(user.id)))
[INFO] [stdout] 21 +         .left_join(bookseries::table.inner_join(series::table))
[INFO] [stdout] 22 +         .select((BookPreview::as_select(), Option::<SeriesInfo>::as_select())), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/components.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 |         .load(&mut conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 28 ~     let authors: Vec<String> = diesel_async::RunQueryDsl::load(author::table
[INFO] [stdout] 29 +         .filter(author::id.eq_any(book_author_ids))
[INFO] [stdout] 30 +         .select(author::name), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 28 ~     let authors: Vec<String> = diesel::RunQueryDsl::load(author::table
[INFO] [stdout] 29 +         .filter(author::id.eq_any(book_author_ids))
[INFO] [stdout] 30 +         .select(author::name), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/components.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |         .load(&mut conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 48 ~     let authors: Vec<String> = diesel_async::RunQueryDsl::load(tag::table
[INFO] [stdout] 49 +         .filter(tag::id.eq_any(book_tag_ids))
[INFO] [stdout] 50 +         .select(tag::name), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 48 ~     let authors: Vec<String> = diesel::RunQueryDsl::load(tag::table
[INFO] [stdout] 49 +         .filter(tag::id.eq_any(book_tag_ids))
[INFO] [stdout] 50 +         .select(tag::name), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/components.rs:63:10
[INFO] [stdout]    |
[INFO] [stdout] 63 |         .load(&mut conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 60 ~     Ok(diesel_async::RunQueryDsl::load(series::table
[INFO] [stdout] 61 +         .filter(series::owner.eq(user.id))
[INFO] [stdout] 62 +         .select(series::name), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 60 ~     Ok(diesel::RunQueryDsl::load(series::table
[INFO] [stdout] 61 +         .filter(series::owner.eq(user.id))
[INFO] [stdout] 62 +         .select(series::name), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 27 ~             diesel::RunQueryDsl::execute(diesel::insert_into(author::table)
[INFO] [stdout] 28 +                 .values(&data.authors)
[INFO] [stdout] 29 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 27 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(author::table)
[INFO] [stdout] 28 +                 .values(&data.authors)
[INFO] [stdout] 29 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 33 ~             diesel::RunQueryDsl::execute(diesel::insert_into(tag::table)
[INFO] [stdout] 34 +                 .values(&data.tags)
[INFO] [stdout] 35 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 33 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(tag::table)
[INFO] [stdout] 34 +                 .values(&data.tags)
[INFO] [stdout] 35 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:42:18
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 .get_result(c)
[INFO] [stdout]    |                  ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 39 ~             let book_id: Uuid = diesel::RunQueryDsl::get_result(diesel::insert_into(book::table)
[INFO] [stdout] 40 +                 .values(data.book)
[INFO] [stdout] 41 +                 .returning(book::id), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 39 ~             let book_id: Uuid = diesel_async::RunQueryDsl::get_result(diesel::insert_into(book::table)
[INFO] [stdout] 40 +                 .values(data.book)
[INFO] [stdout] 41 +                 .returning(book::id), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/components.rs:399:10
[INFO] [stdout]     |
[INFO] [stdout] 399 |         .load::<(BookAuthor, Author)>(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 396 ~     let authors = diesel_async::RunQueryDsl::load(BookAuthor::belonging_to(books)
[INFO] [stdout] 397 +         .inner_join(author::table)
[INFO] [stdout] 398 +         .select((BookAuthor::as_select(), Author::as_select())), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 396 ~     let authors = diesel::RunQueryDsl::load(BookAuthor::belonging_to(books)
[INFO] [stdout] 397 +         .inner_join(author::table)
[INFO] [stdout] 398 +         .select((BookAuthor::as_select(), Author::as_select())), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:55:22
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     .execute(c)
[INFO] [stdout]    |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 52 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(series::table)
[INFO] [stdout] 53 +                     .values(&series)
[INFO] [stdout] 54 +                     .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 52 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(series::table)
[INFO] [stdout] 53 +                     .values(&series)
[INFO] [stdout] 54 +                     .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:61:22
[INFO] [stdout]    |
[INFO] [stdout] 61 |                     .first(c)
[INFO] [stdout]    |                      ^^^^^ multiple `first` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 58 ~                 let series_id = diesel_async::RunQueryDsl::first(series::table
[INFO] [stdout] 59 +                     .filter(series::owner.eq(user.id).and(series::name.eq(&name)))
[INFO] [stdout] 60 +                     .select(series::id), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 58 ~                 let series_id = diesel::RunQueryDsl::first(series::table
[INFO] [stdout] 59 +                     .filter(series::owner.eq(user.id).and(series::name.eq(&name)))
[INFO] [stdout] 60 +                     .select(series::id), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:72:22
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     .execute(c)
[INFO] [stdout]    |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 70 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(bookseries::table)
[INFO] [stdout] 71 +                     .values(&book_series), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 70 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(bookseries::table)
[INFO] [stdout] 71 +                     .values(&book_series), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/components.rs:405:10
[INFO] [stdout]     |
[INFO] [stdout] 405 |         .load::<(BookSeries, SeriesInfo)>(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 402 ~     let series = diesel_async::RunQueryDsl::load(BookSeries::belonging_to(books)
[INFO] [stdout] 403 +         .inner_join(series::table)
[INFO] [stdout] 404 +         .select((BookSeries::as_select(), SeriesInfo::as_select())), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 402 ~     let series = diesel::RunQueryDsl::load(BookSeries::belonging_to(books)
[INFO] [stdout] 403 +         .inner_join(series::table)
[INFO] [stdout] 404 +         .select((BookSeries::as_select(), SeriesInfo::as_select())), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/routes/components.rs:402:9
[INFO] [stdout]     |
[INFO] [stdout] 402 |     let series = BookSeries::belonging_to(books)
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 415 |     let book_series = series
[INFO] [stdout]     |                       ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `series` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 402 |     let series: /* Type */ = BookSeries::belonging_to(books)
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/routes/components.rs:396:9
[INFO] [stdout]     |
[INFO] [stdout] 396 |     let authors = BookAuthor::belonging_to(books)
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 429 |     let mut book_data: Vec<_> = authors
[INFO] [stdout]     |                                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `authors` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 396 |     let authors: /* Type */ = BookAuthor::belonging_to(books)
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 .load(c)
[INFO] [stdout]    |                  ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 76 ~             let author_ids: Vec<i32> = diesel_async::RunQueryDsl::load(author::table
[INFO] [stdout] 77 +                 .filter(author::name.eq_any(&data.authors))
[INFO] [stdout] 78 +                 .select(author::id), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 76 ~             let author_ids: Vec<i32> = diesel::RunQueryDsl::load(author::table
[INFO] [stdout] 77 +                 .filter(author::name.eq_any(&data.authors))
[INFO] [stdout] 78 +                 .select(author::id), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, {type error})`
[INFO] [stdout]    --> src/routes/components.rs:433:15
[INFO] [stdout]     |
[INFO] [stdout] 433 |         .map(|(a, book)| {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |                 a.into_iter().map(|(_, author)| author).collect::<Vec<_>>(),
[INFO] [stdout]     |                 - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 433 |         .map(|(a, book): (_, _)| {
[INFO] [stdout]     |                        ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 82 ~             diesel::RunQueryDsl::execute(diesel::insert_into(bookauthor::table)
[INFO] [stdout] 83 +                 .values(
[INFO] [stdout] 84 +                     &author_ids
[INFO] [stdout] 85 +                         .into_iter()
[INFO] [stdout] 86 +                         .map(|author| BookAuthor {
[INFO] [stdout] 87 +                             book: book_id,
[INFO] [stdout] 88 +                             author,
[INFO] [stdout] 89 +                         })
[INFO] [stdout] 90 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 91 +                 ), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 82 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(bookauthor::table)
[INFO] [stdout] 83 +                 .values(
[INFO] [stdout] 84 +                     &author_ids
[INFO] [stdout] 85 +                         .into_iter()
[INFO] [stdout] 86 +                         .map(|author| BookAuthor {
[INFO] [stdout] 87 +                             book: book_id,
[INFO] [stdout] 88 +                             author,
[INFO] [stdout] 89 +                         })
[INFO] [stdout] 90 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 91 +                 ), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/routes/components.rs:470:33
[INFO] [stdout]     |
[INFO] [stdout] 470 | ...                   @if series.is_some() || book.read || book.owned {
[INFO] [stdout]     |                           ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/add.rs:98:18
[INFO] [stdout]    |
[INFO] [stdout] 98 |                 .load(c)
[INFO] [stdout]    |                  ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 95 ~             let tag_ids: Vec<i32> = diesel_async::RunQueryDsl::load(tag::table
[INFO] [stdout] 96 +                 .filter(tag::name.eq_any(&data.tags))
[INFO] [stdout] 97 +                 .select(tag::id), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 95 ~             let tag_ids: Vec<i32> = diesel::RunQueryDsl::load(tag::table
[INFO] [stdout] 96 +                 .filter(tag::name.eq_any(&data.tags))
[INFO] [stdout] 97 +                 .select(tag::id), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/add.rs:108:18
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 .execute(c)
[INFO] [stdout]     |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 101 ~             diesel::RunQueryDsl::execute(diesel::insert_into(booktag::table)
[INFO] [stdout] 102 +                 .values(
[INFO] [stdout] 103 +                     &tag_ids
[INFO] [stdout] 104 +                         .into_iter()
[INFO] [stdout] 105 +                         .map(|tag| BookTag { book: book_id, tag })
[INFO] [stdout] 106 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 107 +                 ), c)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 101 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(booktag::table)
[INFO] [stdout] 102 +                 .values(
[INFO] [stdout] 103 +                     &tag_ids
[INFO] [stdout] 104 +                         .into_iter()
[INFO] [stdout] 105 +                         .map(|tag| BookTag { book: book_id, tag })
[INFO] [stdout] 106 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 107 +                 ), c)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/add.rs:182:18
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 .get_result(&mut conn)
[INFO] [stdout]     |                  ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 179 ~             let found: i64 = diesel_async::RunQueryDsl::get_result(book::table
[INFO] [stdout] 180 +                 .filter(book::owner.eq(user.id).and(book::isbn.eq(&isbn)))
[INFO] [stdout] 181 +                 .count(), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 179 ~             let found: i64 = diesel::RunQueryDsl::get_result(book::table
[INFO] [stdout] 180 +                 .filter(book::owner.eq(user.id).and(book::isbn.eq(&isbn)))
[INFO] [stdout] 181 +                 .count(), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/mod.rs:516:10
[INFO] [stdout]     |
[INFO] [stdout] 516 |         .load(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 511 ~     let all_books: Vec<BookPreview> = diesel_async::RunQueryDsl::load(book::table
[INFO] [stdout] 512 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 513 +         .left_join(bookseries::table)
[INFO] [stdout] 514 +         .order((bookseries::series, bookseries::number, book::title))
[INFO] [stdout] 515 +         .select(BookPreview::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 511 ~     let all_books: Vec<BookPreview> = diesel::RunQueryDsl::load(book::table
[INFO] [stdout] 512 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 513 +         .left_join(bookseries::table)
[INFO] [stdout] 514 +         .order((bookseries::series, bookseries::number, book::title))
[INFO] [stdout] 515 +         .select(BookPreview::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 28 ~     let has_book: i64 = diesel_async::RunQueryDsl::get_result(book::table
[INFO] [stdout] 29 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 30 +         .find(*id)
[INFO] [stdout] 31 +         .count(), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 28 ~     let has_book: i64 = diesel::RunQueryDsl::get_result(book::table
[INFO] [stdout] 29 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 30 +         .find(*id)
[INFO] [stdout] 31 +         .count(), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 41 ~             diesel::RunQueryDsl::execute(diesel::delete(bookauthor::table)
[INFO] [stdout] 42 +                 .filter(bookauthor::book.eq(*id)), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 41 ~             diesel_async::RunQueryDsl::execute(diesel::delete(bookauthor::table)
[INFO] [stdout] 42 +                 .filter(bookauthor::book.eq(*id)), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:48:18
[INFO] [stdout]    |
[INFO] [stdout] 48 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `DeleteStatement<T, U, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 46 ~             diesel::RunQueryDsl::execute(diesel::delete(booktag::table)
[INFO] [stdout] 47 +                 .filter(booktag::book.eq(*id)), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 46 ~             diesel_async::RunQueryDsl::execute(diesel::delete(booktag::table)
[INFO] [stdout] 47 +                 .filter(booktag::book.eq(*id)), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/mod.rs:582:6
[INFO] [stdout]     |
[INFO] [stdout] 582 |     .get_results::<SeriesAllInfo>(&mut conn)
[INFO] [stdout]     |      ^^^^^^^^^^^ multiple `get_results` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SqlQuery<Inner>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 555 ~     let series = diesel::RunQueryDsl::get_results(diesel::sql_query(
[INFO] [stdout] 556 +         r#"
[INFO] [stdout] 557 +         SELECT 
[INFO] [stdout] 558 +             bs.book as first_volume,
[INFO] [stdout] 559 +             bs.series as id,
[INFO] [stdout] 560 +             series.name as name,
[INFO] [stdout] 561 +             ongoing,
[INFO] [stdout] 562 +             total_count,
[INFO] [stdout] 563 +             COALESCE(owned_count, 0) as owned_count
[INFO] [stdout] 564 +         FROM 
[INFO] [stdout] 565 +             bookseries bs 
[INFO] [stdout] 566 +         INNER JOIN 
[INFO] [stdout] 567 +             (SELECT series, min(number) as minvolume FROM bookseries GROUP BY series) b 
[INFO] [stdout] 568 +             ON b.series = bs.series AND bs.number = b.minvolume 
[INFO] [stdout] 569 +         INNER JOIN 
[INFO] [stdout] 570 +             series 
[INFO] [stdout] 571 +             ON series.id = bs.series
[INFO] [stdout] 572 +         LEFT JOIN
[INFO] [stdout] 573 +             (
[INFO] [stdout] 574 +                 SELECT series, COUNT(book) as owned_count
[INFO] [stdout] 575 +                 FROM bookseries 
[INFO] [stdout] 576 +                 INNER JOIN book ON book.id = bookseries.book AND book.owned
[INFO] [stdout] 577 +                 GROUP BY series
[INFO] [stdout] 578 +             ) as owned_book_count
[INFO] [stdout] 579 +             ON owned_book_count.series = bs.series;
[INFO] [stdout] 580 +     "#,
[INFO] [stdout] 581 +     ), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 555 ~     let series = diesel_async::RunQueryDsl::get_results(diesel::sql_query(
[INFO] [stdout] 556 +         r#"
[INFO] [stdout] 557 +         SELECT 
[INFO] [stdout] 558 +             bs.book as first_volume,
[INFO] [stdout] 559 +             bs.series as id,
[INFO] [stdout] 560 +             series.name as name,
[INFO] [stdout] 561 +             ongoing,
[INFO] [stdout] 562 +             total_count,
[INFO] [stdout] 563 +             COALESCE(owned_count, 0) as owned_count
[INFO] [stdout] 564 +         FROM 
[INFO] [stdout] 565 +             bookseries bs 
[INFO] [stdout] 566 +         INNER JOIN 
[INFO] [stdout] 567 +             (SELECT series, min(number) as minvolume FROM bookseries GROUP BY series) b 
[INFO] [stdout] 568 +             ON b.series = bs.series AND bs.number = b.minvolume 
[INFO] [stdout] 569 +         INNER JOIN 
[INFO] [stdout] 570 +             series 
[INFO] [stdout] 571 +             ON series.id = bs.series
[INFO] [stdout] 572 +         LEFT JOIN
[INFO] [stdout] 573 +             (
[INFO] [stdout] 574 +                 SELECT series, COUNT(book) as owned_count
[INFO] [stdout] 575 +                 FROM bookseries 
[INFO] [stdout] 576 +                 INNER JOIN book ON book.id = bookseries.book AND book.owned
[INFO] [stdout] 577 +                 GROUP BY series
[INFO] [stdout] 578 +             ) as owned_book_count
[INFO] [stdout] 579 +             ON owned_book_count.series = bs.series;
[INFO] [stdout] 580 +     "#,
[INFO] [stdout] 581 +     ), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:54:18
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 51 ~             diesel::RunQueryDsl::execute(diesel::insert_into(author::table)
[INFO] [stdout] 52 +                 .values(&data.authors)
[INFO] [stdout] 53 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 51 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(author::table)
[INFO] [stdout] 52 +                 .values(&data.authors)
[INFO] [stdout] 53 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 57 ~             diesel::RunQueryDsl::execute(diesel::insert_into(tag::table)
[INFO] [stdout] 58 +                 .values(&data.tags)
[INFO] [stdout] 59 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 57 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(tag::table)
[INFO] [stdout] 58 +                 .values(&data.tags)
[INFO] [stdout] 59 +                 .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:65:18
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 .execute(c)
[INFO] [stdout]    |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 63 ~             diesel_async::RunQueryDsl::execute(diesel::update(&BookId { id: *id })
[INFO] [stdout] 64 +                 .set(data.book), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 63 ~             diesel::RunQueryDsl::execute(diesel::update(&BookId { id: *id })
[INFO] [stdout] 64 +                 .set(data.book), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:78:22
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     .execute(c)
[INFO] [stdout]    |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 75 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(series::table)
[INFO] [stdout] 76 +                     .values(&series)
[INFO] [stdout] 77 +                     .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 75 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(series::table)
[INFO] [stdout] 76 +                     .values(&series)
[INFO] [stdout] 77 +                     .on_conflict_do_nothing(), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:84:22
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     .first(c)
[INFO] [stdout]    |                      ^^^^^ multiple `first` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 81 ~                 let series_id = diesel_async::RunQueryDsl::first(series::table
[INFO] [stdout] 82 +                     .filter(series::owner.eq(user.id).and(series::name.eq(&name)))
[INFO] [stdout] 83 +                     .select(series::id), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 81 ~                 let series_id = diesel::RunQueryDsl::first(series::table
[INFO] [stdout] 82 +                     .filter(series::owner.eq(user.id).and(series::name.eq(&name)))
[INFO] [stdout] 83 +                     .select(series::id), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit.rs:98:22
[INFO] [stdout]    |
[INFO] [stdout] 98 |                     .execute(c)
[INFO] [stdout]    |                      ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 93 ~                 diesel::RunQueryDsl::execute(diesel::insert_into(bookseries::table)
[INFO] [stdout] 94 +                     .values(&book_series)
[INFO] [stdout] 95 +                     .on_conflict(bookseries::book)
[INFO] [stdout] 96 +                     .do_update()
[INFO] [stdout] 97 +                     .set(&book_series), c)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 93 ~                 diesel_async::RunQueryDsl::execute(diesel::insert_into(bookseries::table)
[INFO] [stdout] 94 +                     .values(&book_series)
[INFO] [stdout] 95 +                     .on_conflict(bookseries::book)
[INFO] [stdout] 96 +                     .do_update()
[INFO] [stdout] 97 +                     .set(&book_series), c)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/edit.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 .load(c)
[INFO] [stdout]     |                  ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 102 ~             let author_ids: Vec<i32> = diesel_async::RunQueryDsl::load(author::table
[INFO] [stdout] 103 +                 .filter(author::name.eq_any(&data.authors))
[INFO] [stdout] 104 +                 .select(author::id), c)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 102 ~             let author_ids: Vec<i32> = diesel::RunQueryDsl::load(author::table
[INFO] [stdout] 103 +                 .filter(author::name.eq_any(&data.authors))
[INFO] [stdout] 104 +                 .select(author::id), c)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/edit.rs:115:18
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 .execute(c)
[INFO] [stdout]     |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 108 ~             diesel::RunQueryDsl::execute(diesel::insert_into(bookauthor::table)
[INFO] [stdout] 109 +                 .values(
[INFO] [stdout] 110 +                     &author_ids
[INFO] [stdout] 111 +                         .into_iter()
[INFO] [stdout] 112 +                         .map(|author| BookAuthor { book: *id, author })
[INFO] [stdout] 113 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 114 +                 ), c)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 108 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(bookauthor::table)
[INFO] [stdout] 109 +                 .values(
[INFO] [stdout] 110 +                     &author_ids
[INFO] [stdout] 111 +                         .into_iter()
[INFO] [stdout] 112 +                         .map(|author| BookAuthor { book: *id, author })
[INFO] [stdout] 113 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 114 +                 ), c)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/edit.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 .load(c)
[INFO] [stdout]     |                  ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 118 ~             let tag_ids: Vec<i32> = diesel_async::RunQueryDsl::load(tag::table
[INFO] [stdout] 119 +                 .filter(tag::name.eq_any(&data.tags))
[INFO] [stdout] 120 +                 .select(tag::id), c)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 118 ~             let tag_ids: Vec<i32> = diesel::RunQueryDsl::load(tag::table
[INFO] [stdout] 119 +                 .filter(tag::name.eq_any(&data.tags))
[INFO] [stdout] 120 +                 .select(tag::id), c)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/edit.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 .execute(c)
[INFO] [stdout]     |                  ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 124 ~             diesel::RunQueryDsl::execute(diesel::insert_into(booktag::table)
[INFO] [stdout] 125 +                 .values(
[INFO] [stdout] 126 +                     &tag_ids
[INFO] [stdout] 127 +                         .into_iter()
[INFO] [stdout] 128 +                         .map(|tag| BookTag { book: *id, tag })
[INFO] [stdout] 129 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 130 +                 ), c)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 124 ~             diesel_async::RunQueryDsl::execute(diesel::insert_into(booktag::table)
[INFO] [stdout] 125 +                 .values(
[INFO] [stdout] 126 +                     &tag_ids
[INFO] [stdout] 127 +                         .into_iter()
[INFO] [stdout] 128 +                         .map(|tag| BookTag { book: *id, tag })
[INFO] [stdout] 129 +                         .collect::<Vec<_>>(),
[INFO] [stdout] 130 +                 ), c)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/edit.rs:178:10
[INFO] [stdout]     |
[INFO] [stdout] 178 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 174 ~     let book = diesel_async::RunQueryDsl::get_result(book::table
[INFO] [stdout] 175 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 176 +         .find(*id)
[INFO] [stdout] 177 +         .select(BookComplete::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 174 ~     let book = diesel::RunQueryDsl::get_result(book::table
[INFO] [stdout] 175 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 176 +         .find(*id)
[INFO] [stdout] 177 +         .select(BookComplete::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/routes/edit.rs:174:16
[INFO] [stdout]     |
[INFO] [stdout] 174 |       let book = book::table
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 175 | |         .filter(book::owner.eq(user.id))
[INFO] [stdout] 176 | |         .find(*id)
[INFO] [stdout] 177 | |         .select(BookComplete::as_select())
[INFO] [stdout] 178 | |         .get_result(&mut conn)
[INFO] [stdout] 179 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/edit.rs:189:10
[INFO] [stdout]     |
[INFO] [stdout] 189 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 185 ~     let series = diesel_async::RunQueryDsl::get_result(bookseries::table
[INFO] [stdout] 186 +         .find(*id)
[INFO] [stdout] 187 +         .inner_join(series::table)
[INFO] [stdout] 188 +         .select((series::name, bookseries::number)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 185 ~     let series = diesel::RunQueryDsl::get_result(bookseries::table
[INFO] [stdout] 186 +         .find(*id)
[INFO] [stdout] 187 +         .inner_join(series::table)
[INFO] [stdout] 188 +         .select((series::name, bookseries::number)), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/routes/edit.rs:185:18
[INFO] [stdout]     |
[INFO] [stdout] 185 |       let series = bookseries::table
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 186 | |         .find(*id)
[INFO] [stdout] 187 | |         .inner_join(series::table)
[INFO] [stdout] 188 | |         .select((series::name, bookseries::number))
[INFO] [stdout] 189 | |         .get_result(&mut conn)
[INFO] [stdout] 190 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit_series.rs:80:10
[INFO] [stdout]    |
[INFO] [stdout] 80 |         .execute(&mut conn)
[INFO] [stdout]    |          ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 77 ~     diesel_async::RunQueryDsl::execute(diesel::update(series::table)
[INFO] [stdout] 78 +         .filter(series::id.eq(*id).and(series::owner.eq(user.id)))
[INFO] [stdout] 79 +         .set(form.changeset()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 77 ~     diesel::RunQueryDsl::execute(diesel::update(series::table)
[INFO] [stdout] 78 +         .filter(series::id.eq(*id).and(series::owner.eq(user.id)))
[INFO] [stdout] 79 +         .set(form.changeset()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/edit_series.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 93 ~     let s = diesel_async::RunQueryDsl::get_result(series::table
[INFO] [stdout] 94 +         .find(*id)
[INFO] [stdout] 95 +         .filter(series::owner.eq(user.id))
[INFO] [stdout] 96 +         .select(SeriesInfo::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 93 ~     let s = diesel::RunQueryDsl::get_result(series::table
[INFO] [stdout] 94 +         .find(*id)
[INFO] [stdout] 95 +         .filter(series::owner.eq(user.id))
[INFO] [stdout] 96 +         .select(SeriesInfo::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/routes/edit_series.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |       let s = series::table
[INFO] [stdout]    |  _____________^
[INFO] [stdout] 94 | |         .find(*id)
[INFO] [stdout] 95 | |         .filter(series::owner.eq(user.id))
[INFO] [stdout] 96 | |         .select(SeriesInfo::as_select())
[INFO] [stdout] 97 | |         .get_result(&mut conn)
[INFO] [stdout] 98 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/get_author.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 22 ~     let author_info = diesel_async::RunQueryDsl::get_result(author::table
[INFO] [stdout] 23 +         .find(*id)
[INFO] [stdout] 24 +         .select(Author::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 22 ~     let author_info = diesel::RunQueryDsl::get_result(author::table
[INFO] [stdout] 23 +         .find(*id)
[INFO] [stdout] 24 +         .select(Author::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/routes/get_author.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |       let author_info = author::table
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 23 | |         .find(*id)
[INFO] [stdout] 24 | |         .select(Author::as_select())
[INFO] [stdout] 25 | |         .get_result(&mut conn)
[INFO] [stdout] 26 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/get_book.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 22 ~     let book = diesel_async::RunQueryDsl::get_result(book::table
[INFO] [stdout] 23 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 24 +         .find(*id)
[INFO] [stdout] 25 +         .select(BookComplete::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 22 ~     let book = diesel::RunQueryDsl::get_result(book::table
[INFO] [stdout] 23 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 24 +         .find(*id)
[INFO] [stdout] 25 +         .select(BookComplete::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/routes/get_book.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |       let book = book::table
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 23 | |         .filter(book::owner.eq(user.id))
[INFO] [stdout] 24 | |         .find(*id)
[INFO] [stdout] 25 | |         .select(BookComplete::as_select())
[INFO] [stdout] 26 | |         .get_result(&mut conn)
[INFO] [stdout] 27 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/get_book.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |         .first(&mut conn)
[INFO] [stdout]    |          ^^^^^ multiple `first` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 33 ~     let series: Option<(String, i32, Uuid)> = diesel_async::RunQueryDsl::first(bookseries::table
[INFO] [stdout] 34 +         .find(*id)
[INFO] [stdout] 35 +         .inner_join(series::table)
[INFO] [stdout] 36 +         .select((series::name, bookseries::number, series::id)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 33 ~     let series: Option<(String, i32, Uuid)> = diesel::RunQueryDsl::first(bookseries::table
[INFO] [stdout] 34 +         .find(*id)
[INFO] [stdout] 35 +         .inner_join(series::table)
[INFO] [stdout] 36 +         .select((series::name, bookseries::number, series::id)), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/routes/get_book.rs:33:47
[INFO] [stdout]    |
[INFO] [stdout] 33 |       let series: Option<(String, i32, Uuid)> = bookseries::table
[INFO] [stdout]    |  _______________________________________________^
[INFO] [stdout] 34 | |         .find(*id)
[INFO] [stdout] 35 | |         .inner_join(series::table)
[INFO] [stdout] 36 | |         .select((series::name, bookseries::number, series::id))
[INFO] [stdout] 37 | |         .first(&mut conn)
[INFO] [stdout] 38 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/routes/get_book.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let authors = BookAuthor::belonging_to(&book)
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |                     @for (i, author) in authors.iter().enumerate() {
[INFO] [stdout]    |                                         ------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `authors` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let authors: /* Type */ = BookAuthor::belonging_to(&book)
[INFO] [stdout]    |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/routes/get_book.rs:110:51
[INFO] [stdout]     |
[INFO] [stdout] 110 | ...                   "Publication date: " (date.format("%d/%m/%Y"))
[INFO] [stdout]     |                                             ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/get_series.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     let series_info = diesel_async::RunQueryDsl::get_result(series::table
[INFO] [stdout] 24 +         .find(*id)
[INFO] [stdout] 25 +         .filter(series::owner.eq(user.id))
[INFO] [stdout] 26 +         .select(SeriesInfo::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 23 ~     let series_info = diesel::RunQueryDsl::get_result(series::table
[INFO] [stdout] 24 +         .find(*id)
[INFO] [stdout] 25 +         .filter(series::owner.eq(user.id))
[INFO] [stdout] 26 +         .select(SeriesInfo::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/routes/get_series.rs:23:23
[INFO] [stdout]    |
[INFO] [stdout] 23 |       let series_info = series::table
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 24 | |         .find(*id)
[INFO] [stdout] 25 | |         .filter(series::owner.eq(user.id))
[INFO] [stdout] 26 | |         .select(SeriesInfo::as_select())
[INFO] [stdout] 27 | |         .get_result(&mut conn)
[INFO] [stdout] 28 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/get_series.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 |         .get_results(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^^ multiple `get_results` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 34 ~     let series = diesel_async::RunQueryDsl::get_results(bookseries::table
[INFO] [stdout] 35 +         .inner_join(book::table)
[INFO] [stdout] 36 +         .filter(bookseries::series.eq(*id))
[INFO] [stdout] 37 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 38 +         .select(BookPreview::as_select())
[INFO] [stdout] 39 +         .order(bookseries::number.asc()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 34 ~     let series = diesel::RunQueryDsl::get_results(bookseries::table
[INFO] [stdout] 35 +         .inner_join(book::table)
[INFO] [stdout] 36 +         .filter(bookseries::series.eq(*id))
[INFO] [stdout] 37 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 38 +         .select(BookPreview::as_select())
[INFO] [stdout] 39 +         .order(bookseries::number.asc()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[BookPreview]` cannot be known at compilation time
[INFO] [stdout]   --> src/routes/get_series.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let series = bookseries::table
[INFO] [stdout]    |         ^^^^^^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Sized` is not implemented for `[BookPreview]`
[INFO] [stdout]    = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[BookPreview]` cannot be known at compilation time
[INFO] [stdout]   --> src/routes/get_series.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let series = bookseries::table
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 35 | |         .inner_join(book::table)
[INFO] [stdout] 36 | |         .filter(bookseries::series.eq(*id))
[INFO] [stdout] 37 | |         .filter(book::owner.eq(user.id))
[INFO] [stdout] ...  |
[INFO] [stdout] 40 | |         .get_results(&mut conn)
[INFO] [stdout] 41 | |         .await?;
[INFO] [stdout]    | |_______________^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Sized` is not implemented for `[BookPreview]`
[INFO] [stdout]    = note: all local variables must have a statically known size
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the size for values of type `[BookPreview]` cannot be known at compilation time
[INFO] [stdout]   --> src/routes/get_series.rs:41:15
[INFO] [stdout]    |
[INFO] [stdout] 41 |         .await?;
[INFO] [stdout]    |               ^ doesn't have a size known at compile-time
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Sized` is not implemented for `[BookPreview]`
[INFO] [stdout] note: required by an implicit `Sized` bound in `ControlFlow`
[INFO] [stdout]   --> /rustc/95813608313bff49cfc1afc393a946a3c085b772/library/core/src/ops/control_flow.rs:89:0
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/ongoing.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 |         .get_results::<MissingVolume>(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^^ multiple `get_results` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SqlQuery<Inner>`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 50 ~         let missing_books = diesel::RunQueryDsl::get_results(diesel::sql_query(format!(
[INFO] [stdout] 51 +             r#"
[INFO] [stdout] 52 +         SELECT id as series, number 
[INFO] [stdout] 53 +         FROM series, generate_series(1, total_count) as number 
[INFO] [stdout] 54 +         WHERE total_count IS NOT NULL
[INFO] [stdout] 55 +                 AND id IN({missing_ids})
[INFO] [stdout] 56 +         EXCEPT
[INFO] [stdout] 57 +         SELECT series, number FROM bookseries;
[INFO] [stdout] 58 +     "#
[INFO] [stdout] 59 +         )), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 50 ~         let missing_books = diesel_async::RunQueryDsl::get_results(diesel::sql_query(format!(
[INFO] [stdout] 51 +             r#"
[INFO] [stdout] 52 +         SELECT id as series, number 
[INFO] [stdout] 53 +         FROM series, generate_series(1, total_count) as number 
[INFO] [stdout] 54 +         WHERE total_count IS NOT NULL
[INFO] [stdout] 55 +                 AND id IN({missing_ids})
[INFO] [stdout] 56 +         EXCEPT
[INFO] [stdout] 57 +         SELECT series, number FROM bookseries;
[INFO] [stdout] 58 +     "#
[INFO] [stdout] 59 +         )), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/routes/ongoing.rs:76:20
[INFO] [stdout]    |
[INFO] [stdout] 76 |         .for_each(|v| v.sort_unstable());
[INFO] [stdout]    |                    ^  - type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 76 |         .for_each(|v: /* Type */| v.sort_unstable());
[INFO] [stdout]    |                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/ongoing.rs:144:10
[INFO] [stdout]     |
[INFO] [stdout] 144 |         .get_result(&mut conn)
[INFO] [stdout]     |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 140 ~     let user = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 141 +         .find(user)
[INFO] [stdout] 142 +         .filter(users::public_ongoing.eq(true))
[INFO] [stdout] 143 +         .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 140 ~     let user = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 141 +         .find(user)
[INFO] [stdout] 142 +         .filter(users::public_ongoing.eq(true))
[INFO] [stdout] 143 +         .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/routes/ongoing.rs:140:16
[INFO] [stdout]     |
[INFO] [stdout] 140 |       let user = users::table
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 141 | |         .find(user)
[INFO] [stdout] 142 | |         .filter(users::public_ongoing.eq(true))
[INFO] [stdout] 143 | |         .select(User::as_select())
[INFO] [stdout] 144 | |         .get_result(&mut conn)
[INFO] [stdout] 145 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/profile.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 |         .execute(&mut conn)
[INFO] [stdout]    |          ^^^^^^^ multiple `execute` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `UpdateStatement<T, U, V, Ret>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 29 ~     diesel_async::RunQueryDsl::execute(diesel::update(users::table)
[INFO] [stdout] 30 +         .filter(users::id.eq(user.id))
[INFO] [stdout] 31 +         .set(ProfileEdit {
[INFO] [stdout] 32 +             public_ongoing: form.ongoing_box.is_some(),
[INFO] [stdout] 33 +         }), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 29 ~     diesel::RunQueryDsl::execute(diesel::update(users::table)
[INFO] [stdout] 30 +         .filter(users::id.eq(user.id))
[INFO] [stdout] 31 +         .set(ProfileEdit {
[INFO] [stdout] 32 +             public_ongoing: form.ongoing_box.is_some(),
[INFO] [stdout] 33 +         }), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/profile.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 |         .get_result(&mut conn)
[INFO] [stdout]    |          ^^^^^^^^^^ multiple `get_result` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 43 ~     let profile = diesel_async::RunQueryDsl::get_result(users::table
[INFO] [stdout] 44 +         .find(user.id)
[INFO] [stdout] 45 +         .select(ProfileEdit::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 43 ~     let profile = diesel::RunQueryDsl::get_result(users::table
[INFO] [stdout] 44 +         .find(user.id)
[INFO] [stdout] 45 +         .select(ProfileEdit::as_select()), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/unread.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |         .load(&mut conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 19 ~     let unread: Vec<(BookPreview, Option<SeriesInfo>)> = diesel_async::RunQueryDsl::load(book::table
[INFO] [stdout] 20 +         .filter(book::read.eq(false).and(book::owner.eq(user.id)))
[INFO] [stdout] 21 +         .left_join(bookseries::table.inner_join(series::table))
[INFO] [stdout] 22 +         .select((BookPreview::as_select(), Option::<SeriesInfo>::as_select())), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 19 ~     let unread: Vec<(BookPreview, Option<SeriesInfo>)> = diesel::RunQueryDsl::load(book::table
[INFO] [stdout] 20 +         .filter(book::read.eq(false).and(book::owner.eq(user.id)))
[INFO] [stdout] 21 +         .left_join(bookseries::table.inner_join(series::table))
[INFO] [stdout] 22 +         .select((BookPreview::as_select(), Option::<SeriesInfo>::as_select())), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/components.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 |         .load(&mut conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 28 ~     let authors: Vec<String> = diesel_async::RunQueryDsl::load(author::table
[INFO] [stdout] 29 +         .filter(author::id.eq_any(book_author_ids))
[INFO] [stdout] 30 +         .select(author::name), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 28 ~     let authors: Vec<String> = diesel::RunQueryDsl::load(author::table
[INFO] [stdout] 29 +         .filter(author::id.eq_any(book_author_ids))
[INFO] [stdout] 30 +         .select(author::name), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/components.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 |         .load(&mut conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 48 ~     let authors: Vec<String> = diesel_async::RunQueryDsl::load(tag::table
[INFO] [stdout] 49 +         .filter(tag::id.eq_any(book_tag_ids))
[INFO] [stdout] 50 +         .select(tag::name), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 48 ~     let authors: Vec<String> = diesel::RunQueryDsl::load(tag::table
[INFO] [stdout] 49 +         .filter(tag::id.eq_any(book_tag_ids))
[INFO] [stdout] 50 +         .select(tag::name), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]   --> src/routes/components.rs:63:10
[INFO] [stdout]    |
[INFO] [stdout] 63 |         .load(&mut conn)
[INFO] [stdout]    |          ^^^^ multiple `load` found
[INFO] [stdout]    |
[INFO] [stdout]    = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]    = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]    |
[INFO] [stdout] 60 ~     Ok(diesel_async::RunQueryDsl::load(series::table
[INFO] [stdout] 61 +         .filter(series::owner.eq(user.id))
[INFO] [stdout] 62 +         .select(series::name), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]    |
[INFO] [stdout] 60 ~     Ok(diesel::RunQueryDsl::load(series::table
[INFO] [stdout] 61 +         .filter(series::owner.eq(user.id))
[INFO] [stdout] 62 +         .select(series::name), &mut conn)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/components.rs:399:10
[INFO] [stdout]     |
[INFO] [stdout] 399 |         .load::<(BookAuthor, Author)>(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 396 ~     let authors = diesel_async::RunQueryDsl::load(BookAuthor::belonging_to(books)
[INFO] [stdout] 397 +         .inner_join(author::table)
[INFO] [stdout] 398 +         .select((BookAuthor::as_select(), Author::as_select())), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 396 ~     let authors = diesel::RunQueryDsl::load(BookAuthor::belonging_to(books)
[INFO] [stdout] 397 +         .inner_join(author::table)
[INFO] [stdout] 398 +         .select((BookAuthor::as_select(), Author::as_select())), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/components.rs:405:10
[INFO] [stdout]     |
[INFO] [stdout] 405 |         .load::<(BookSeries, SeriesInfo)>(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 402 ~     let series = diesel_async::RunQueryDsl::load(BookSeries::belonging_to(books)
[INFO] [stdout] 403 +         .inner_join(series::table)
[INFO] [stdout] 404 +         .select((BookSeries::as_select(), SeriesInfo::as_select())), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 402 ~     let series = diesel::RunQueryDsl::load(BookSeries::belonging_to(books)
[INFO] [stdout] 403 +         .inner_join(series::table)
[INFO] [stdout] 404 +         .select((BookSeries::as_select(), SeriesInfo::as_select())), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/routes/components.rs:402:9
[INFO] [stdout]     |
[INFO] [stdout] 402 |     let series = BookSeries::belonging_to(books)
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 415 |     let book_series = series
[INFO] [stdout]     |                       ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `series` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 402 |     let series: /* Type */ = BookSeries::belonging_to(books)
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/routes/components.rs:396:9
[INFO] [stdout]     |
[INFO] [stdout] 396 |     let authors = BookAuthor::belonging_to(books)
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 429 |     let mut book_data: Vec<_> = authors
[INFO] [stdout]     |                                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `authors` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 396 |     let authors: /* Type */ = BookAuthor::belonging_to(books)
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `(_, {type error})`
[INFO] [stdout]    --> src/routes/components.rs:433:15
[INFO] [stdout]     |
[INFO] [stdout] 433 |         .map(|(a, book)| {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |                 a.into_iter().map(|(_, author)| author).collect::<Vec<_>>(),
[INFO] [stdout]     |                 - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 433 |         .map(|(a, book): (_, _)| {
[INFO] [stdout]     |                        ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/routes/components.rs:470:33
[INFO] [stdout]     |
[INFO] [stdout] 470 | ...                   @if series.is_some() || book.read || book.owned {
[INFO] [stdout]     |                           ^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/mod.rs:516:10
[INFO] [stdout]     |
[INFO] [stdout] 516 |         .load(&mut conn)
[INFO] [stdout]     |          ^^^^ multiple `load` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 511 ~     let all_books: Vec<BookPreview> = diesel_async::RunQueryDsl::load(book::table
[INFO] [stdout] 512 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 513 +         .left_join(bookseries::table)
[INFO] [stdout] 514 +         .order((bookseries::series, bookseries::number, book::title))
[INFO] [stdout] 515 +         .select(BookPreview::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 511 ~     let all_books: Vec<BookPreview> = diesel::RunQueryDsl::load(book::table
[INFO] [stdout] 512 +         .filter(book::owner.eq(user.id))
[INFO] [stdout] 513 +         .left_join(bookseries::table)
[INFO] [stdout] 514 +         .order((bookseries::series, bookseries::number, book::title))
[INFO] [stdout] 515 +         .select(BookPreview::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/mod.rs:582:6
[INFO] [stdout]     |
[INFO] [stdout] 582 |     .get_results::<SeriesAllInfo>(&mut conn)
[INFO] [stdout]     |      ^^^^^^^^^^^ multiple `get_results` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SqlQuery<Inner>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 555 ~     let series = diesel::RunQueryDsl::get_results(diesel::sql_query(
[INFO] [stdout] 556 +         r#"
[INFO] [stdout] 557 +         SELECT 
[INFO] [stdout] 558 +             bs.book as first_volume,
[INFO] [stdout] 559 +             bs.series as id,
[INFO] [stdout] 560 +             series.name as name,
[INFO] [stdout] 561 +             ongoing,
[INFO] [stdout] 562 +             total_count,
[INFO] [stdout] 563 +             COALESCE(owned_count, 0) as owned_count
[INFO] [stdout] 564 +         FROM 
[INFO] [stdout] 565 +             bookseries bs 
[INFO] [stdout] 566 +         INNER JOIN 
[INFO] [stdout] 567 +             (SELECT series, min(number) as minvolume FROM bookseries GROUP BY series) b 
[INFO] [stdout] 568 +             ON b.series = bs.series AND bs.number = b.minvolume 
[INFO] [stdout] 569 +         INNER JOIN 
[INFO] [stdout] 570 +             series 
[INFO] [stdout] 571 +             ON series.id = bs.series
[INFO] [stdout] 572 +         LEFT JOIN
[INFO] [stdout] 573 +             (
[INFO] [stdout] 574 +                 SELECT series, COUNT(book) as owned_count
[INFO] [stdout] 575 +                 FROM bookseries 
[INFO] [stdout] 576 +                 INNER JOIN book ON book.id = bookseries.book AND book.owned
[INFO] [stdout] 577 +                 GROUP BY series
[INFO] [stdout] 578 +             ) as owned_book_count
[INFO] [stdout] 579 +             ON owned_book_count.series = bs.series;
[INFO] [stdout] 580 +     "#,
[INFO] [stdout] 581 +     ), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 555 ~     let series = diesel_async::RunQueryDsl::get_results(diesel::sql_query(
[INFO] [stdout] 556 +         r#"
[INFO] [stdout] 557 +         SELECT 
[INFO] [stdout] 558 +             bs.book as first_volume,
[INFO] [stdout] 559 +             bs.series as id,
[INFO] [stdout] 560 +             series.name as name,
[INFO] [stdout] 561 +             ongoing,
[INFO] [stdout] 562 +             total_count,
[INFO] [stdout] 563 +             COALESCE(owned_count, 0) as owned_count
[INFO] [stdout] 564 +         FROM 
[INFO] [stdout] 565 +             bookseries bs 
[INFO] [stdout] 566 +         INNER JOIN 
[INFO] [stdout] 567 +             (SELECT series, min(number) as minvolume FROM bookseries GROUP BY series) b 
[INFO] [stdout] 568 +             ON b.series = bs.series AND bs.number = b.minvolume 
[INFO] [stdout] 569 +         INNER JOIN 
[INFO] [stdout] 570 +             series 
[INFO] [stdout] 571 +             ON series.id = bs.series
[INFO] [stdout] 572 +         LEFT JOIN
[INFO] [stdout] 573 +             (
[INFO] [stdout] 574 +                 SELECT series, COUNT(book) as owned_count
[INFO] [stdout] 575 +                 FROM bookseries 
[INFO] [stdout] 576 +                 INNER JOIN book ON book.id = bookseries.book AND book.owned
[INFO] [stdout] 577 +                 GROUP BY series
[INFO] [stdout] 578 +             ) as owned_book_count
[INFO] [stdout] 579 +             ON owned_book_count.series = bs.series;
[INFO] [stdout] 580 +     "#,
[INFO] [stdout] 581 +     ), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/mod.rs:309:14
[INFO] [stdout]     |
[INFO] [stdout] 309 |             .execute(&mut conn)
[INFO] [stdout]     |              ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 306 ~         diesel::RunQueryDsl::execute(diesel::insert_into(users::table)
[INFO] [stdout] 307 +             .values(&NewUser { name: user })
[INFO] [stdout] 308 +             .on_conflict_do_nothing(), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 306 ~         diesel_async::RunQueryDsl::execute(diesel::insert_into(users::table)
[INFO] [stdout] 307 +             .values(&NewUser { name: user })
[INFO] [stdout] 308 +             .on_conflict_do_nothing(), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/mod.rs:315:14
[INFO] [stdout]     |
[INFO] [stdout] 315 |             .first(&mut conn)
[INFO] [stdout]     |              ^^^^^ multiple `first` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 312 ~         Ok(diesel_async::RunQueryDsl::first(users::table
[INFO] [stdout] 313 +             .filter(users::name.eq(user))
[INFO] [stdout] 314 +             .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 312 ~         Ok(diesel::RunQueryDsl::first(users::table
[INFO] [stdout] 313 +             .filter(users::name.eq(user))
[INFO] [stdout] 314 +             .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `stdout` is never read
[INFO] [stdout]   --> src/metadata/calibre.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     FetchFailure { stdout: BString, stderr: BString },
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `stderr` is never read
[INFO] [stdout]   --> src/metadata/calibre.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 |     FetchFailure { stdout: BString, stderr: BString },
[INFO] [stdout]    |                                     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/mod.rs:309:14
[INFO] [stdout]     |
[INFO] [stdout] 309 |             .execute(&mut conn)
[INFO] [stdout]     |              ^^^^^^^ multiple `execute` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `InsertStatement<T, U, Op, Ret>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 306 ~         diesel::RunQueryDsl::execute(diesel::insert_into(users::table)
[INFO] [stdout] 307 +             .values(&NewUser { name: user })
[INFO] [stdout] 308 +             .on_conflict_do_nothing(), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 306 ~         diesel_async::RunQueryDsl::execute(diesel::insert_into(users::table)
[INFO] [stdout] 307 +             .values(&NewUser { name: user })
[INFO] [stdout] 308 +             .on_conflict_do_nothing(), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/routes/mod.rs:315:14
[INFO] [stdout]     |
[INFO] [stdout] 315 |             .first(&mut conn)
[INFO] [stdout]     |              ^^^^^ multiple `first` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `diesel_async::RunQueryDsl` for the type `T`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `diesel::RunQueryDsl` for the type `SelectStatement<F, S, D, W, O, LOf, G, H, LC>`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 312 ~         Ok(diesel_async::RunQueryDsl::first(users::table
[INFO] [stdout] 313 +             .filter(users::name.eq(user))
[INFO] [stdout] 314 +             .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 312 ~         Ok(diesel::RunQueryDsl::first(users::table
[INFO] [stdout] 313 +             .filter(users::name.eq(user))
[INFO] [stdout] 314 +             .select(User::as_select()), &mut conn)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `stdout` is never read
[INFO] [stdout]   --> src/metadata/calibre.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     FetchFailure { stdout: BString, stderr: BString },
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `stderr` is never read
[INFO] [stdout]   --> src/metadata/calibre.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 |     FetchFailure { stdout: BString, stderr: BString },
[INFO] [stdout]    |                                     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0034, E0277, E0282.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bouquineur` (bin "bouquineur") due to 65 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0034, E0277, E0282.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bouquineur` (bin "bouquineur" test) due to 65 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "df95727be86d6a0350c367d3cc2ad55476f0465a35016bcecb5d4c397178ff06", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "df95727be86d6a0350c367d3cc2ad55476f0465a35016bcecb5d4c397178ff06", kill_on_drop: false }`
[INFO] [stdout] df95727be86d6a0350c367d3cc2ad55476f0465a35016bcecb5d4c397178ff06
