[INFO] updating cached repository https://github.com/maghoff/sausagewiki
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] f96cc8dac59fa1d7c5ce25df00d5dccbfce2b6c7
[INFO] checking maghoff/sausagewiki against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaghoff%2Fsausagewiki" "/workspace/builds/worker-3/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/maghoff/sausagewiki on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/maghoff/sausagewiki
[INFO] removed workspace from git repo https://github.com/maghoff/sausagewiki
[INFO] removed path dependency codegen from git repo https://github.com/maghoff/sausagewiki
[INFO] finished tweaking git repo https://github.com/maghoff/sausagewiki
[INFO] tweaked toml for git repo https://github.com/maghoff/sausagewiki written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] crate git repo https://github.com/maghoff/sausagewiki already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] warning: dependency (codegen) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr] error: the lock file /workspace/builds/worker-3/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] [stderr]     Updating git repository `https://github.com/maghoff/pulldown-cmark.git`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] warning: dependency (codegen) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stdout] 917f35e301ec72d2cb4af8d562b33f1125dd4b021fb1946097572601e7599eb2
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `"docker" "start" "-a" "917f35e301ec72d2cb4af8d562b33f1125dd4b021fb1946097572601e7599eb2"`
[INFO] [stderr] warning: dependency (codegen) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]    Compiling pulldown-cmark v0.1.2 (https://github.com/maghoff/pulldown-cmark.git#e5dea36c)
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling proc-macro-hack-impl v0.4.2
[INFO] [stderr]     Checking seahash v3.0.7
[INFO] [stderr]    Compiling unindent v0.1.5
[INFO] [stderr]     Checking diff v0.1.12
[INFO] [stderr]     Checking relay v0.1.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.9.3
[INFO] [stderr]    Compiling syn v0.10.8
[INFO] [stderr]    Compiling itertools v0.6.5
[INFO] [stderr]     Checking bart v0.1.4
[INFO] [stderr]     Checking want v0.0.4
[INFO] [stderr]     Checking serde_plain v0.3.0
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling syn v1.0.17
[INFO] [stderr]     Checking serde_urlencoded v0.5.5
[INFO] [stderr]     Checking chrono v0.4.11
[INFO] [stderr]     Checking parking_lot_core v0.6.2
[INFO] [stderr]     Checking titlecase v0.10.0
[INFO] [stderr]    Compiling proc-macro-hack v0.4.2
[INFO] [stderr]     Checking parking_lot v0.9.0
[INFO] [stderr]    Compiling num-iter v0.1.40
[INFO] [stderr]    Compiling num v0.1.42
[INFO] [stderr]     Checking tokio-reactor v0.1.12
[INFO] [stderr]    Compiling bart_derive v0.1.4
[INFO] [stderr]     Checking tokio-tcp v0.1.4
[INFO] [stderr]     Checking tokio-udp v0.1.6
[INFO] [stderr]     Checking tokio-uds v0.2.6
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]     Checking tokio-core v0.1.17
[INFO] [stderr]    Compiling indoc-impl v0.2.8
[INFO] [stderr]     Checking tokio-proto v0.1.1
[INFO] [stderr]     Checking indoc v0.2.8
[INFO] [stderr]     Checking hyper v0.11.27
[INFO] [stderr]    Compiling diesel_derives v1.4.1
[INFO] [stderr]    Compiling serde_derive v1.0.106
[INFO] [stderr]    Compiling diesel v1.4.4
[INFO] [stderr]     Checking migrations_internals v1.4.1
[INFO] [stderr]     Checking r2d2-diesel v1.0.0
[INFO] [stderr]    Compiling infer_schema_internals v1.4.0
[INFO] [stderr]    Compiling migrations_macros v1.4.2
[INFO] [stderr]    Compiling infer_schema_macros v1.4.0
[INFO] [stderr]    Compiling diesel_migrations v1.4.0
[INFO] [stderr]     Checking diesel_infer_schema v1.4.0
[INFO] [stderr]    Compiling sausagewiki v0.1.0-dev (/opt/rustwide/workdir)
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> build.rs:37:44
[INFO] [stderr]    |
[INFO] [stderr] 37 |     diesel::expression::sql_literal::sql::<(diesel::sql_types::Integer)>("PRAGMA foreign_keys = ON")
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `StaticResource` in this scope
[INFO] [stderr]  --> src/assets.rs:8:14
[INFO] [stderr]   |
[INFO] [stderr] 8 |     #[derive(StaticResource)]
[INFO] [stderr]   |              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `filename` in this scope
[INFO] [stderr]  --> src/assets.rs:9:7
[INFO] [stderr]   |
[INFO] [stderr] 9 |     #[filename = "assets/themes.css"]
[INFO] [stderr]   |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `mime` in this scope
[INFO] [stderr]   --> src/assets.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 |     #[mime = "text/css"]
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `StaticResource` in this scope
[INFO] [stderr]   --> src/assets.rs:13:14
[INFO] [stderr]    |
[INFO] [stderr] 13 |     #[derive(StaticResource)]
[INFO] [stderr]    |              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `filename` in this scope
[INFO] [stderr]   --> src/assets.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 |     #[filename = "assets/style.css"]
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `mime` in this scope
[INFO] [stderr]   --> src/assets.rs:15:7
[INFO] [stderr]    |
[INFO] [stderr] 15 |     #[mime = "text/css"]
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `StaticResource` in this scope
[INFO] [stderr]   --> src/assets.rs:18:14
[INFO] [stderr]    |
[INFO] [stderr] 18 |     #[derive(StaticResource)]
[INFO] [stderr]    |              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `filename` in this scope
[INFO] [stderr]   --> src/assets.rs:19:7
[INFO] [stderr]    |
[INFO] [stderr] 19 |     #[filename = "assets/script.js"]
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `mime` in this scope
[INFO] [stderr]   --> src/assets.rs:20:7
[INFO] [stderr]    |
[INFO] [stderr] 20 |     #[mime = "application/javascript"]
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `StaticResource` in this scope
[INFO] [stderr]   --> src/assets.rs:23:14
[INFO] [stderr]    |
[INFO] [stderr] 23 |     #[derive(StaticResource)]
[INFO] [stderr]    |              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `filename` in this scope
[INFO] [stderr]   --> src/assets.rs:24:7
[INFO] [stderr]    |
[INFO] [stderr] 24 |     #[filename = "assets/search.js"]
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `mime` in this scope
[INFO] [stderr]   --> src/assets.rs:25:7
[INFO] [stderr]    |
[INFO] [stderr] 25 |     #[mime = "application/javascript"]
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Licenses` in this scope
[INFO] [stderr]   --> src/resources/about_resource.rs:11:10
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[derive(Licenses)]
[INFO] [stderr]    |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `StaticResource` in this scope
[INFO] [stderr]  --> src/assets.rs:8:14
[INFO] [stderr]   |
[INFO] [stderr] 8 |     #[derive(StaticResource)]
[INFO] [stderr]   |              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `filename` in this scope
[INFO] [stderr]  --> src/assets.rs:9:7
[INFO] [stderr]   |
[INFO] [stderr] 9 |     #[filename = "assets/themes.css"]
[INFO] [stderr]   |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `mime` in this scope
[INFO] [stderr]   --> src/assets.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 |     #[mime = "text/css"]
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `StaticResource` in this scope
[INFO] [stderr]   --> src/assets.rs:13:14
[INFO] [stderr]    |
[INFO] [stderr] 13 |     #[derive(StaticResource)]
[INFO] [stderr]    |              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `filename` in this scope
[INFO] [stderr]   --> src/assets.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 |     #[filename = "assets/style.css"]
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `mime` in this scope
[INFO] [stderr]   --> src/assets.rs:15:7
[INFO] [stderr]    |
[INFO] [stderr] 15 |     #[mime = "text/css"]
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `StaticResource` in this scope
[INFO] [stderr]   --> src/assets.rs:18:14
[INFO] [stderr]    |
[INFO] [stderr] 18 |     #[derive(StaticResource)]
[INFO] [stderr]    |              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `filename` in this scope
[INFO] [stderr]   --> src/assets.rs:19:7
[INFO] [stderr]    |
[INFO] [stderr] 19 |     #[filename = "assets/script.js"]
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `mime` in this scope
[INFO] [stderr]   --> src/assets.rs:20:7
[INFO] [stderr]    |
[INFO] [stderr] 20 |     #[mime = "application/javascript"]
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `StaticResource` in this scope
[INFO] [stderr]   --> src/assets.rs:23:14
[INFO] [stderr]    |
[INFO] [stderr] 23 |     #[derive(StaticResource)]
[INFO] [stderr]    |              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `filename` in this scope
[INFO] [stderr]   --> src/assets.rs:24:7
[INFO] [stderr]    |
[INFO] [stderr] 24 |     #[filename = "assets/search.js"]
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find attribute `mime` in this scope
[INFO] [stderr]   --> src/assets.rs:25:7
[INFO] [stderr]    |
[INFO] [stderr] 25 |     #[mime = "application/javascript"]
[INFO] [stderr]    |       ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Licenses` in this scope
[INFO] [stderr]   --> src/resources/about_resource.rs:11:10
[INFO] [stderr]    |
[INFO] [stderr] 11 | #[derive(Licenses)]
[INFO] [stderr]    |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `LICENSE_INFOS` in this scope
[INFO] [stderr]   --> src/resources/about_resource.rs:88:33
[INFO] [stderr]    |
[INFO] [stderr] 88 |                         deps: &*LICENSE_INFOS
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `LICENSE_INFOS` in this scope
[INFO] [stderr]   --> src/resources/about_resource.rs:88:33
[INFO] [stderr]    |
[INFO] [stderr] 88 |                         deps: &*LICENSE_INFOS
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^ not found in this scope
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/lib.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[macro_use] extern crate codegen;
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::Future`
[INFO] [stderr]  --> src/assets.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 4 |     use futures::Future;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ResponseFuture`
[INFO] [stderr]  --> src/assets.rs:5:25
[INFO] [stderr]   |
[INFO] [stderr] 5 |     use web::{Resource, ResponseFuture};
[INFO] [stderr]   |                         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/assets.rs:35:28
[INFO] [stderr]    |
[INFO] [stderr] 35 |     type BoxResource = Box<Resource + Sync + Send>;
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Resource + Sync + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/assets.rs:36:27
[INFO] [stderr]    |
[INFO] [stderr] 36 |     type ResourceFn = Box<Fn() -> BoxResource + Sync + Send>;
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> BoxResource + Sync + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/db.rs:24:15
[INFO] [stderr]    |
[INFO] [stderr] 24 |         sql::<(Integer)>("PRAGMA foreign_keys = ON")
[INFO] [stderr]    |               ^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/db.rs:42:116
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub fn create_pool<S: Into<String>>(connection_string: S) -> Result<Pool<ConnectionManager<SqliteConnection>>, Box<::std::error::Error>> {
[INFO] [stderr]    |                                                                                                                    ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::error::Error)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/resources/pagination.rs:11:35
[INFO] [stderr]    |
[INFO] [stderr] 11 |         write!(f, "{}", (self as &error::Error).description())
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/resources/changes_resource.rs:21:24
[INFO] [stderr]    |
[INFO] [stderr] 21 | type BoxResource = Box<Resource + Sync + Send>;
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Resource + Sync + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/resources/changes_resource.rs:100:54
[INFO] [stderr]     |
[INFO] [stderr] 100 |     pub fn lookup(&self, query: Option<&str>) -> Box<Future<Item=Option<BoxResource>, Error=::web::Error>> {
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item=Option<BoxResource>, Error=::web::Error>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/resources/changes_resource.rs:157:32
[INFO] [stderr]     |
[INFO] [stderr] 157 |                     })) as Box<Future<Item=Option<BoxResource>, Error=::web::Error>>
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item=Option<BoxResource>, Error=::web::Error>`
[INFO] [stderr] 
[INFO] [stderr] warning: the item `Iterator` is imported redundantly
[INFO] [stderr]    --> src/resources/changes_resource.rs:297:21
[INFO] [stderr]     |
[INFO] [stderr] 297 |                 use std::iter::Iterator;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/resources/diff_resource.rs:21:24
[INFO] [stderr]    |
[INFO] [stderr] 21 | type BoxResource = Box<Resource + Sync + Send>;
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Resource + Sync + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/resources/diff_resource.rs:51:71
[INFO] [stderr]    |
[INFO] [stderr] 51 |     pub fn lookup(&self, article_id: u32, query: Option<&str>) -> Box<Future<Item=Option<BoxResource>, Error=::web::Error>> {
[INFO] [stderr]    |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item=Option<BoxResource>, Error=::web::Error>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/resources/search_resource.rs:17:24
[INFO] [stderr]    |
[INFO] [stderr] 17 | type BoxResource = Box<Resource + Sync + Send>;
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Resource + Sync + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/site.rs:96:59
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn internal_server_error(base: Option<&str>, err: Box<::std::error::Error + Send + Sync>) -> Response {
[INFO] [stderr]    |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ::std::error::Error + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/site.rs:124:23
[INFO] [stderr]     |
[INFO] [stderr] 124 |     type Future = Box<futures::Future<Item = Response, Error = Self::Error>>;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn futures::Future<Item = Response, Error = Self::Error>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/state.rs:21:22
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub type Error = Box<std::error::Error + Send + Sync>;
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: the item `article_revisions` is imported redundantly
[INFO] [stderr]   --> src/state.rs:84:9
[INFO] [stderr]    |
[INFO] [stderr] 12 | use schema::*;
[INFO] [stderr]    |     --------- the item `article_revisions` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 84 |     use schema::article_revisions;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `article_revisions` is imported redundantly
[INFO] [stderr]    --> src/state.rs:116:13
[INFO] [stderr]     |
[INFO] [stderr] 12  | use schema::*;
[INFO] [stderr]     |     --------- the item `article_revisions` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 116 |         use schema::article_revisions;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `article_revisions` is imported redundantly
[INFO] [stderr]    --> src/state.rs:127:13
[INFO] [stderr]     |
[INFO] [stderr] 12  | use schema::*;
[INFO] [stderr]     |     --------- the item `article_revisions` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 127 |         use schema::article_revisions;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `article_revisions` is imported redundantly
[INFO] [stderr]    --> src/state.rs:162:13
[INFO] [stderr]     |
[INFO] [stderr] 12  | use schema::*;
[INFO] [stderr]     |     --------- the item `article_revisions` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 162 |         use schema::article_revisions;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `article_revisions` is imported redundantly
[INFO] [stderr]    --> src/state.rs:181:17
[INFO] [stderr]     |
[INFO] [stderr] 12  | use schema::*;
[INFO] [stderr]     |     --------- the item `article_revisions` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 181 |             use schema::article_revisions;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `article_revisions` is imported redundantly
[INFO] [stderr]    --> src/state.rs:282:17
[INFO] [stderr]     |
[INFO] [stderr] 12  | use schema::*;
[INFO] [stderr]     |     --------- the item `article_revisions` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 282 |             use schema::article_revisions;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/state.rs:360:23
[INFO] [stderr]     |
[INFO] [stderr] 360 |                 sql::<(diesel::sql_types::Integer)>("INSERT INTO articles VALUES (null)")
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/state.rs:362:23
[INFO] [stderr]     |
[INFO] [stderr] 362 |                 sql::<(diesel::sql_types::Integer)>("SELECT LAST_INSERT_ROWID()")
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/web/resource.rs:11:22
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub type Error = Box<std::error::Error + Send + Sync>;
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/web/resource.rs:12:31
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub type ResponseFuture = Box<futures::Future<Item = server::Response, Error = Error>>;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn futures::Future<Item = server::Response, Error = Error>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/wiki_lookup.rs:17:24
[INFO] [stderr]    |
[INFO] [stderr] 17 | type BoxResource = Box<Resource + Sync + Send>;
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Resource + Sync + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/wiki_lookup.rs:18:23
[INFO] [stderr]    |
[INFO] [stderr] 18 | type ResourceFn = Box<Fn() -> BoxResource + Sync + Send>;
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> BoxResource + Sync + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/wiki_lookup.rs:58:43
[INFO] [stderr]    |
[INFO] [stderr] 58 |     FutureResult<Option<BoxResource>, Box<::std::error::Error + Send + Sync>>
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ::std::error::Error + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/wiki_lookup.rs:77:43
[INFO] [stderr]    |
[INFO] [stderr] 77 |     FutureResult<Option<BoxResource>, Box<::std::error::Error + Send + Sync>>
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ::std::error::Error + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/wiki_lookup.rs:252:22
[INFO] [stderr]     |
[INFO] [stderr] 252 |     type Error = Box<::std::error::Error + Send + Sync>;
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ::std::error::Error + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/wiki_lookup.rs:253:23
[INFO] [stderr]     |
[INFO] [stderr] 253 |     type Future = Box<Future<Item = Option<Self::Resource>, Error = Self::Error>>;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item = Option<Self::Resource>, Error = Self::Error>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:55:105
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub fn main(db_file: String, bind_host: IpAddr, bind_port: u16, trust_identity: bool) -> Result<(), Box<std::error::Error>> {
[INFO] [stderr]    |                                                                                                         ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/lib.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[macro_use] extern crate codegen;
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::Future`
[INFO] [stderr]  --> src/assets.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 4 |     use futures::Future;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ResponseFuture`
[INFO] [stderr]  --> src/assets.rs:5:25
[INFO] [stderr]   |
[INFO] [stderr] 5 |     use web::{Resource, ResponseFuture};
[INFO] [stderr]   |                         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/assets.rs:35:28
[INFO] [stderr]    |
[INFO] [stderr] 35 |     type BoxResource = Box<Resource + Sync + Send>;
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Resource + Sync + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/assets.rs:36:27
[INFO] [stderr]    |
[INFO] [stderr] 36 |     type ResourceFn = Box<Fn() -> BoxResource + Sync + Send>;
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> BoxResource + Sync + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/db.rs:24:15
[INFO] [stderr]    |
[INFO] [stderr] 24 |         sql::<(Integer)>("PRAGMA foreign_keys = ON")
[INFO] [stderr]    |               ^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/db.rs:42:116
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub fn create_pool<S: Into<String>>(connection_string: S) -> Result<Pool<ConnectionManager<SqliteConnection>>, Box<::std::error::Error>> {
[INFO] [stderr]    |                                                                                                                    ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::error::Error)`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/resources/pagination.rs:11:35
[INFO] [stderr]    |
[INFO] [stderr] 11 |         write!(f, "{}", (self as &error::Error).description())
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/resources/changes_resource.rs:21:24
[INFO] [stderr]    |
[INFO] [stderr] 21 | type BoxResource = Box<Resource + Sync + Send>;
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Resource + Sync + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/resources/changes_resource.rs:100:54
[INFO] [stderr]     |
[INFO] [stderr] 100 |     pub fn lookup(&self, query: Option<&str>) -> Box<Future<Item=Option<BoxResource>, Error=::web::Error>> {
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item=Option<BoxResource>, Error=::web::Error>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/resources/changes_resource.rs:157:32
[INFO] [stderr]     |
[INFO] [stderr] 157 |                     })) as Box<Future<Item=Option<BoxResource>, Error=::web::Error>>
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item=Option<BoxResource>, Error=::web::Error>`
[INFO] [stderr] 
[INFO] [stderr] warning: the item `Iterator` is imported redundantly
[INFO] [stderr]    --> src/resources/changes_resource.rs:297:21
[INFO] [stderr]     |
[INFO] [stderr] 297 |                 use std::iter::Iterator;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/resources/diff_resource.rs:21:24
[INFO] [stderr]    |
[INFO] [stderr] 21 | type BoxResource = Box<Resource + Sync + Send>;
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Resource + Sync + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/resources/diff_resource.rs:51:71
[INFO] [stderr]    |
[INFO] [stderr] 51 |     pub fn lookup(&self, article_id: u32, query: Option<&str>) -> Box<Future<Item=Option<BoxResource>, Error=::web::Error>> {
[INFO] [stderr]    |                                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item=Option<BoxResource>, Error=::web::Error>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/resources/search_resource.rs:17:24
[INFO] [stderr]    |
[INFO] [stderr] 17 | type BoxResource = Box<Resource + Sync + Send>;
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Resource + Sync + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/site.rs:96:59
[INFO] [stderr]    |
[INFO] [stderr] 96 |     fn internal_server_error(base: Option<&str>, err: Box<::std::error::Error + Send + Sync>) -> Response {
[INFO] [stderr]    |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ::std::error::Error + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/site.rs:124:23
[INFO] [stderr]     |
[INFO] [stderr] 124 |     type Future = Box<futures::Future<Item = Response, Error = Self::Error>>;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn futures::Future<Item = Response, Error = Self::Error>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/state.rs:21:22
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub type Error = Box<std::error::Error + Send + Sync>;
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: the item `article_revisions` is imported redundantly
[INFO] [stderr]   --> src/state.rs:84:9
[INFO] [stderr]    |
[INFO] [stderr] 12 | use schema::*;
[INFO] [stderr]    |     --------- the item `article_revisions` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 84 |     use schema::article_revisions;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `article_revisions` is imported redundantly
[INFO] [stderr]    --> src/state.rs:116:13
[INFO] [stderr]     |
[INFO] [stderr] 12  | use schema::*;
[INFO] [stderr]     |     --------- the item `article_revisions` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 116 |         use schema::article_revisions;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `article_revisions` is imported redundantly
[INFO] [stderr]    --> src/state.rs:127:13
[INFO] [stderr]     |
[INFO] [stderr] 12  | use schema::*;
[INFO] [stderr]     |     --------- the item `article_revisions` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 127 |         use schema::article_revisions;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `article_revisions` is imported redundantly
[INFO] [stderr]    --> src/state.rs:162:13
[INFO] [stderr]     |
[INFO] [stderr] 12  | use schema::*;
[INFO] [stderr]     |     --------- the item `article_revisions` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 162 |         use schema::article_revisions;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `article_revisions` is imported redundantly
[INFO] [stderr]    --> src/state.rs:181:17
[INFO] [stderr]     |
[INFO] [stderr] 12  | use schema::*;
[INFO] [stderr]     |     --------- the item `article_revisions` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 181 |             use schema::article_revisions;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `article_revisions` is imported redundantly
[INFO] [stderr]    --> src/state.rs:282:17
[INFO] [stderr]     |
[INFO] [stderr] 12  | use schema::*;
[INFO] [stderr]     |     --------- the item `article_revisions` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 282 |             use schema::article_revisions;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/state.rs:360:23
[INFO] [stderr]     |
[INFO] [stderr] 360 |                 sql::<(diesel::sql_types::Integer)>("INSERT INTO articles VALUES (null)")
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/state.rs:362:23
[INFO] [stderr]     |
[INFO] [stderr] 362 |                 sql::<(diesel::sql_types::Integer)>("SELECT LAST_INSERT_ROWID()")
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/theme.rs:191:47
[INFO] [stderr]     |
[INFO] [stderr] 191 |     fn basic_db_roundtrip() -> Result<(), Box<Error>> {
[INFO] [stderr]     |                                               ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/theme.rs:207:57
[INFO] [stderr]     |
[INFO] [stderr] 207 |     fn db_invalid_value_gives_error() -> Result<(), Box<Error>> {
[INFO] [stderr]     |                                                         ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/web/resource.rs:11:22
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub type Error = Box<std::error::Error + Send + Sync>;
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/web/resource.rs:12:31
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub type ResponseFuture = Box<futures::Future<Item = server::Response, Error = Error>>;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn futures::Future<Item = server::Response, Error = Error>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/wiki_lookup.rs:17:24
[INFO] [stderr]    |
[INFO] [stderr] 17 | type BoxResource = Box<Resource + Sync + Send>;
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Resource + Sync + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/wiki_lookup.rs:18:23
[INFO] [stderr]    |
[INFO] [stderr] 18 | type ResourceFn = Box<Fn() -> BoxResource + Sync + Send>;
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn() -> BoxResource + Sync + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/wiki_lookup.rs:58:43
[INFO] [stderr]    |
[INFO] [stderr] 58 |     FutureResult<Option<BoxResource>, Box<::std::error::Error + Send + Sync>>
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ::std::error::Error + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/wiki_lookup.rs:77:43
[INFO] [stderr]    |
[INFO] [stderr] 77 |     FutureResult<Option<BoxResource>, Box<::std::error::Error + Send + Sync>>
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ::std::error::Error + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/wiki_lookup.rs:252:22
[INFO] [stderr]     |
[INFO] [stderr] 252 |     type Error = Box<::std::error::Error + Send + Sync>;
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ::std::error::Error + Send + Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/wiki_lookup.rs:253:23
[INFO] [stderr]     |
[INFO] [stderr] 253 |     type Future = Box<Future<Item = Option<Self::Resource>, Error = Self::Error>>;
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item = Option<Self::Resource>, Error = Self::Error>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lib.rs:55:105
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub fn main(db_file: String, bind_host: IpAddr, bind_port: u16, trust_identity: bool) -> Result<(), Box<std::error::Error>> {
[INFO] [stderr]    |                                                                                                         ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/assets.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | /     lazy_static! {
[INFO] [stderr] 38 | |         pub static ref ASSETS_MAP: HashMap<&'static str, ResourceFn> = hashmap!{
[INFO] [stderr] 39 | |             // The CSS should be built to a single CSS file at compile time
[INFO] [stderr] 40 | |             ThemesCss::resource_name() =>
[INFO] [stderr] ...  |
[INFO] [stderr] 51 | |         };
[INFO] [stderr] 52 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/build_config.rs:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | / lazy_static! {
[INFO] [stderr] 14 | |     pub static ref VERSION: String = || -> String {
[INFO] [stderr] 15 | |         let mut components = Vec::<String>::new();
[INFO] [stderr] 16 | |
[INFO] [stderr] ...  |
[INFO] [stderr] 56 | |         format!("{}/{}", PROJECT_NAME, VERSION.as_str());
[INFO] [stderr] 57 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/build_config.rs:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | / lazy_static! {
[INFO] [stderr] 14 | |     pub static ref VERSION: String = || -> String {
[INFO] [stderr] 15 | |         let mut components = Vec::<String>::new();
[INFO] [stderr] 16 | |
[INFO] [stderr] ...  |
[INFO] [stderr] 56 | |         format!("{}/{}", PROJECT_NAME, VERSION.as_str());
[INFO] [stderr] 57 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]  --> src/mimes.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | / lazy_static! {
[INFO] [stderr] 4 | |     pub static ref TEXT_HTML: mime::Mime = "text/html;charset=utf-8".parse().unwrap();
[INFO] [stderr] 5 | |     pub static ref TEXT_PLAIN: mime::Mime = "text/plain;charset=utf-8".parse().unwrap();
[INFO] [stderr] 6 | |     pub static ref APPLICATION_JSON: mime::Mime = "application/json".parse().unwrap();
[INFO] [stderr] 7 | | }
[INFO] [stderr]   | |_^
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]  --> src/mimes.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | / lazy_static! {
[INFO] [stderr] 4 | |     pub static ref TEXT_HTML: mime::Mime = "text/html;charset=utf-8".parse().unwrap();
[INFO] [stderr] 5 | |     pub static ref TEXT_PLAIN: mime::Mime = "text/plain;charset=utf-8".parse().unwrap();
[INFO] [stderr] 6 | |     pub static ref APPLICATION_JSON: mime::Mime = "application/json".parse().unwrap();
[INFO] [stderr] 7 | | }
[INFO] [stderr]   | |_^
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]  --> src/mimes.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | / lazy_static! {
[INFO] [stderr] 4 | |     pub static ref TEXT_HTML: mime::Mime = "text/html;charset=utf-8".parse().unwrap();
[INFO] [stderr] 5 | |     pub static ref TEXT_PLAIN: mime::Mime = "text/plain;charset=utf-8".parse().unwrap();
[INFO] [stderr] 6 | |     pub static ref APPLICATION_JSON: mime::Mime = "application/json".parse().unwrap();
[INFO] [stderr] 7 | | }
[INFO] [stderr]   | |_^
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/site.rs:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | / lazy_static! {
[INFO] [stderr] 19 | |     static ref TEXT_HTML: mime::Mime = "text/html;charset=utf-8".parse().unwrap();
[INFO] [stderr] 20 | |     static ref SERVER: Server =
[INFO] [stderr] 21 | |         Server::new(build_config::HTTP_SERVER.as_str());
[INFO] [stderr] 22 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/site.rs:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | / lazy_static! {
[INFO] [stderr] 19 | |     static ref TEXT_HTML: mime::Mime = "text/html;charset=utf-8".parse().unwrap();
[INFO] [stderr] 20 | |     static ref SERVER: Server =
[INFO] [stderr] 21 | |         Server::new(build_config::HTTP_SERVER.as_str());
[INFO] [stderr] 22 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]  --> src/web/resource.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | / lazy_static! {
[INFO] [stderr] 8 | |     static ref TEXT_PLAIN: mime::Mime = "text/plain;charset=utf-8".parse().unwrap();
[INFO] [stderr] 9 | | }
[INFO] [stderr]   | |_^
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/wiki_lookup.rs:20:1
[INFO] [stderr]    |
[INFO] [stderr] 20 | / lazy_static! {
[INFO] [stderr] 21 | |     static ref LICENSES_MAP: HashMap<&'static str, ResourceFn> = hashmap!{
[INFO] [stderr] 22 | |         "bsd-3-clause" => Box::new(|| Box::new(
[INFO] [stderr] 23 | |             HtmlResource::new(Some("../"), "The 3-Clause BSD License", include_str!("licenses/bsd-3-clause.html"))
[INFO] [stderr] ...  |
[INFO] [stderr] 37 | |     };
[INFO] [stderr] 38 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/assets.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | /     lazy_static! {
[INFO] [stderr] 38 | |         pub static ref ASSETS_MAP: HashMap<&'static str, ResourceFn> = hashmap!{
[INFO] [stderr] 39 | |             // The CSS should be built to a single CSS file at compile time
[INFO] [stderr] 40 | |             ThemesCss::resource_name() =>
[INFO] [stderr] ...  |
[INFO] [stderr] 51 | |         };
[INFO] [stderr] 52 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/build_config.rs:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | / lazy_static! {
[INFO] [stderr] 14 | |     pub static ref VERSION: String = || -> String {
[INFO] [stderr] 15 | |         let mut components = Vec::<String>::new();
[INFO] [stderr] 16 | |
[INFO] [stderr] ...  |
[INFO] [stderr] 56 | |         format!("{}/{}", PROJECT_NAME, VERSION.as_str());
[INFO] [stderr] 57 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/build_config.rs:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | / lazy_static! {
[INFO] [stderr] 14 | |     pub static ref VERSION: String = || -> String {
[INFO] [stderr] 15 | |         let mut components = Vec::<String>::new();
[INFO] [stderr] 16 | |
[INFO] [stderr] ...  |
[INFO] [stderr] 56 | |         format!("{}/{}", PROJECT_NAME, VERSION.as_str());
[INFO] [stderr] 57 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]  --> src/mimes.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | / lazy_static! {
[INFO] [stderr] 4 | |     pub static ref TEXT_HTML: mime::Mime = "text/html;charset=utf-8".parse().unwrap();
[INFO] [stderr] 5 | |     pub static ref TEXT_PLAIN: mime::Mime = "text/plain;charset=utf-8".parse().unwrap();
[INFO] [stderr] 6 | |     pub static ref APPLICATION_JSON: mime::Mime = "application/json".parse().unwrap();
[INFO] [stderr] 7 | | }
[INFO] [stderr]   | |_^
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]  --> src/mimes.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | / lazy_static! {
[INFO] [stderr] 4 | |     pub static ref TEXT_HTML: mime::Mime = "text/html;charset=utf-8".parse().unwrap();
[INFO] [stderr] 5 | |     pub static ref TEXT_PLAIN: mime::Mime = "text/plain;charset=utf-8".parse().unwrap();
[INFO] [stderr] 6 | |     pub static ref APPLICATION_JSON: mime::Mime = "application/json".parse().unwrap();
[INFO] [stderr] 7 | | }
[INFO] [stderr]   | |_^
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]  --> src/mimes.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | / lazy_static! {
[INFO] [stderr] 4 | |     pub static ref TEXT_HTML: mime::Mime = "text/html;charset=utf-8".parse().unwrap();
[INFO] [stderr] 5 | |     pub static ref TEXT_PLAIN: mime::Mime = "text/plain;charset=utf-8".parse().unwrap();
[INFO] [stderr] 6 | |     pub static ref APPLICATION_JSON: mime::Mime = "application/json".parse().unwrap();
[INFO] [stderr] 7 | | }
[INFO] [stderr]   | |_^
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/site.rs:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | / lazy_static! {
[INFO] [stderr] 19 | |     static ref TEXT_HTML: mime::Mime = "text/html;charset=utf-8".parse().unwrap();
[INFO] [stderr] 20 | |     static ref SERVER: Server =
[INFO] [stderr] 21 | |         Server::new(build_config::HTTP_SERVER.as_str());
[INFO] [stderr] 22 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/site.rs:18:1
[INFO] [stderr]    |
[INFO] [stderr] 18 | / lazy_static! {
[INFO] [stderr] 19 | |     static ref TEXT_HTML: mime::Mime = "text/html;charset=utf-8".parse().unwrap();
[INFO] [stderr] 20 | |     static ref SERVER: Server =
[INFO] [stderr] 21 | |         Server::new(build_config::HTTP_SERVER.as_str());
[INFO] [stderr] 22 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]  --> src/web/resource.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | / lazy_static! {
[INFO] [stderr] 8 | |     static ref TEXT_PLAIN: mime::Mime = "text/plain;charset=utf-8".parse().unwrap();
[INFO] [stderr] 9 | | }
[INFO] [stderr]   | |_^
[INFO] [stderr]   |
[INFO] [stderr]   = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred
[INFO] [stderr]   --> src/wiki_lookup.rs:20:1
[INFO] [stderr]    |
[INFO] [stderr] 20 | / lazy_static! {
[INFO] [stderr] 21 | |     static ref LICENSES_MAP: HashMap<&'static str, ResourceFn> = hashmap!{
[INFO] [stderr] 22 | |         "bsd-3-clause" => Box::new(|| Box::new(
[INFO] [stderr] 23 | |             HtmlResource::new(Some("../"), "The 3-Clause BSD License", include_str!("licenses/bsd-3-clause.html"))
[INFO] [stderr] ...  |
[INFO] [stderr] 37 | |     };
[INFO] [stderr] 38 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::ThemesCss` in the current scope
[INFO] [stderr]   --> src/assets.rs:40:24
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub struct ThemesCss;
[INFO] [stderr]    |     --------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] ...
[INFO] [stderr] 40 |             ThemesCss::resource_name() =>
[INFO] [stderr]    |                        ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::ThemesCss`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::ThemesCss` in the current scope
[INFO] [stderr]   --> src/assets.rs:40:24
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub struct ThemesCss;
[INFO] [stderr]    |     --------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] ...
[INFO] [stderr] 40 |             ThemesCss::resource_name() =>
[INFO] [stderr]    |                        ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::ThemesCss`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::StyleCss` in the current scope
[INFO] [stderr]   --> src/assets.rs:43:23
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub struct StyleCss;
[INFO] [stderr]    |     -------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] ...
[INFO] [stderr] 43 |             StyleCss::resource_name() =>
[INFO] [stderr]    |                       ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::StyleCss`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::ScriptJs` in the current scope
[INFO] [stderr]   --> src/assets.rs:46:23
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub struct ScriptJs;
[INFO] [stderr]    |     -------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] ...
[INFO] [stderr] 46 |             ScriptJs::resource_name() =>
[INFO] [stderr]    |                       ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::ScriptJs`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::SearchJs` in the current scope
[INFO] [stderr]   --> src/assets.rs:49:23
[INFO] [stderr]    |
[INFO] [stderr] 26 |     pub struct SearchJs;
[INFO] [stderr]    |     -------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] ...
[INFO] [stderr] 49 |             SearchJs::resource_name() =>
[INFO] [stderr]    |                       ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::SearchJs`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::StyleCss` in the current scope
[INFO] [stderr]   --> src/assets.rs:43:23
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub struct StyleCss;
[INFO] [stderr]    |     -------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] ...
[INFO] [stderr] 43 |             StyleCss::resource_name() =>
[INFO] [stderr]    |                       ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::StyleCss`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `assets::static_assets::ThemesCss: web::resource::Resource` is not satisfied
[INFO] [stderr]   --> src/assets.rs:41:29
[INFO] [stderr]    |
[INFO] [stderr] 41 |                 Box::new(|| Box::new(ThemesCss) as BoxResource) as ResourceFn,
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^^^ the trait `web::resource::Resource` is not implemented for `assets::static_assets::ThemesCss`
[INFO] [stderr]    |
[INFO] [stderr]    = note: required for the cast to the object type `dyn web::resource::Resource + std::marker::Send + std::marker::Sync`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::ScriptJs` in the current scope
[INFO] [stderr]   --> src/assets.rs:46:23
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub struct ScriptJs;
[INFO] [stderr]    |     -------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] ...
[INFO] [stderr] 46 |             ScriptJs::resource_name() =>
[INFO] [stderr]    |                       ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::ScriptJs`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::SearchJs` in the current scope
[INFO] [stderr]   --> src/assets.rs:49:23
[INFO] [stderr]    |
[INFO] [stderr] 26 |     pub struct SearchJs;
[INFO] [stderr]    |     -------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] ...
[INFO] [stderr] 49 |             SearchJs::resource_name() =>
[INFO] [stderr]    |                       ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::SearchJs`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `assets::static_assets::StyleCss: web::resource::Resource` is not satisfied
[INFO] [stderr]   --> src/assets.rs:44:29
[INFO] [stderr]    |
[INFO] [stderr] 44 |                 Box::new(|| Box::new(StyleCss) as BoxResource) as ResourceFn,
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^^ the trait `web::resource::Resource` is not implemented for `assets::static_assets::StyleCss`
[INFO] [stderr]    |
[INFO] [stderr]    = note: required for the cast to the object type `dyn web::resource::Resource + std::marker::Send + std::marker::Sync`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `assets::static_assets::ScriptJs: web::resource::Resource` is not satisfied
[INFO] [stderr]   --> src/assets.rs:47:29
[INFO] [stderr]    |
[INFO] [stderr] 47 |                 Box::new(|| Box::new(ScriptJs) as BoxResource) as ResourceFn,
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^^ the trait `web::resource::Resource` is not implemented for `assets::static_assets::ScriptJs`
[INFO] [stderr]    |
[INFO] [stderr]    = note: required for the cast to the object type `dyn web::resource::Resource + std::marker::Send + std::marker::Sync`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `assets::static_assets::ThemesCss: web::resource::Resource` is not satisfied
[INFO] [stderr]   --> src/assets.rs:41:29
[INFO] [stderr]    |
[INFO] [stderr] 41 |                 Box::new(|| Box::new(ThemesCss) as BoxResource) as ResourceFn,
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^^^ the trait `web::resource::Resource` is not implemented for `assets::static_assets::ThemesCss`
[INFO] [stderr]    |
[INFO] [stderr]    = note: required for the cast to the object type `dyn web::resource::Resource + std::marker::Send + std::marker::Sync`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `assets::static_assets::SearchJs: web::resource::Resource` is not satisfied
[INFO] [stderr]   --> src/assets.rs:50:29
[INFO] [stderr]    |
[INFO] [stderr] 50 |                 Box::new(|| Box::new(SearchJs) as BoxResource) as ResourceFn,
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^^ the trait `web::resource::Resource` is not implemented for `assets::static_assets::SearchJs`
[INFO] [stderr]    |
[INFO] [stderr]    = note: required for the cast to the object type `dyn web::resource::Resource + std::marker::Send + std::marker::Sync`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `assets::static_assets::StyleCss: web::resource::Resource` is not satisfied
[INFO] [stderr]   --> src/assets.rs:44:29
[INFO] [stderr]    |
[INFO] [stderr] 44 |                 Box::new(|| Box::new(StyleCss) as BoxResource) as ResourceFn,
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^^ the trait `web::resource::Resource` is not implemented for `assets::static_assets::StyleCss`
[INFO] [stderr]    |
[INFO] [stderr]    = note: required for the cast to the object type `dyn web::resource::Resource + std::marker::Send + std::marker::Sync`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `assets::static_assets::ScriptJs: web::resource::Resource` is not satisfied
[INFO] [stderr]   --> src/assets.rs:47:29
[INFO] [stderr]    |
[INFO] [stderr] 47 |                 Box::new(|| Box::new(ScriptJs) as BoxResource) as ResourceFn,
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^^ the trait `web::resource::Resource` is not implemented for `assets::static_assets::ScriptJs`
[INFO] [stderr]    |
[INFO] [stderr]    = note: required for the cast to the object type `dyn web::resource::Resource + std::marker::Send + std::marker::Sync`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `assets::static_assets::SearchJs: web::resource::Resource` is not satisfied
[INFO] [stderr]   --> src/assets.rs:50:29
[INFO] [stderr]    |
[INFO] [stderr] 50 |                 Box::new(|| Box::new(SearchJs) as BoxResource) as ResourceFn,
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^^ the trait `web::resource::Resource` is not implemented for `assets::static_assets::SearchJs`
[INFO] [stderr]    |
[INFO] [stderr]    = note: required for the cast to the object type `dyn web::resource::Resource + std::marker::Send + std::marker::Sync`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/resources/pagination.rs:11:49
[INFO] [stderr]    |
[INFO] [stderr] 11 |         write!(f, "{}", (self as &error::Error).description())
[INFO] [stderr]    |                                                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/resources/pagination.rs:11:49
[INFO] [stderr]    |
[INFO] [stderr] 11 |         write!(f, "{}", (self as &error::Error).description())
[INFO] [stderr]    |                                                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::ScriptJs` in the current scope
[INFO] [stderr]   --> src/resources/article_resource.rs:40:19
[INFO] [stderr]    |
[INFO] [stderr] 40 |         ScriptJs::resource_name()
[INFO] [stderr]    |                   ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::ScriptJs`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/assets.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub struct ScriptJs;
[INFO] [stderr]    |     -------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::ScriptJs` in the current scope
[INFO] [stderr]   --> src/resources/article_resource.rs:40:19
[INFO] [stderr]    |
[INFO] [stderr] 40 |         ScriptJs::resource_name()
[INFO] [stderr]    |                   ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::ScriptJs`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/assets.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub struct ScriptJs;
[INFO] [stderr]    |     -------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::ScriptJs` in the current scope
[INFO] [stderr]   --> src/resources/new_article_resource.rs:83:27
[INFO] [stderr]    |
[INFO] [stderr] 83 |                 ScriptJs::resource_name()
[INFO] [stderr]    |                           ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::ScriptJs`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/assets.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub struct ScriptJs;
[INFO] [stderr]    |     -------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::ScriptJs` in the current scope
[INFO] [stderr]   --> src/resources/new_article_resource.rs:83:27
[INFO] [stderr]    |
[INFO] [stderr] 83 |                 ScriptJs::resource_name()
[INFO] [stderr]    |                           ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::ScriptJs`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/assets.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub struct ScriptJs;
[INFO] [stderr]    |     -------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::ThemesCss` in the current scope
[INFO] [stderr]   --> src/site.rs:36:51
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub fn themes_css(&self) -> &str { ThemesCss::resource_name() }
[INFO] [stderr]    |                                                   ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::ThemesCss`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/assets.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub struct ThemesCss;
[INFO] [stderr]    |     --------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::StyleCss` in the current scope
[INFO] [stderr]   --> src/site.rs:37:49
[INFO] [stderr]    |
[INFO] [stderr] 37 |     pub fn style_css(&self) -> &str { StyleCss::resource_name() }
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::StyleCss`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/assets.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub struct StyleCss;
[INFO] [stderr]    |     -------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::SearchJs` in the current scope
[INFO] [stderr]   --> src/site.rs:38:49
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub fn search_js(&self) -> &str { SearchJs::resource_name() }
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::SearchJs`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/assets.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 |     pub struct SearchJs;
[INFO] [stderr]    |     -------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::ThemesCss` in the current scope
[INFO] [stderr]   --> src/site.rs:36:51
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub fn themes_css(&self) -> &str { ThemesCss::resource_name() }
[INFO] [stderr]    |                                                   ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::ThemesCss`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/assets.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub struct ThemesCss;
[INFO] [stderr]    |     --------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::StyleCss` in the current scope
[INFO] [stderr]   --> src/site.rs:37:49
[INFO] [stderr]    |
[INFO] [stderr] 37 |     pub fn style_css(&self) -> &str { StyleCss::resource_name() }
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::StyleCss`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/assets.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub struct StyleCss;
[INFO] [stderr]    |     -------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no function or associated item named `resource_name` found for struct `assets::static_assets::SearchJs` in the current scope
[INFO] [stderr]   --> src/site.rs:38:49
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub fn search_js(&self) -> &str { SearchJs::resource_name() }
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^ function or associated item not found in `assets::static_assets::SearchJs`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: src/assets.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 |     pub struct SearchJs;
[INFO] [stderr]    |     -------------------- function or associated item `resource_name` not found for this
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 27 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0425, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] error: could not compile `sausagewiki`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: aborting due to 27 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0425, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] error: could not compile `sausagewiki`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "917f35e301ec72d2cb4af8d562b33f1125dd4b021fb1946097572601e7599eb2"`
[INFO] running `"docker" "rm" "-f" "917f35e301ec72d2cb4af8d562b33f1125dd4b021fb1946097572601e7599eb2"`
[INFO] [stdout] 917f35e301ec72d2cb4af8d562b33f1125dd4b021fb1946097572601e7599eb2
