[INFO] updating cached repository https://github.com/andreasots/motd-generator
[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] 77d8e0193e6d1ae0680a22f4b6e53020e3d1f046
[INFO] checking andreasots/motd-generator against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreasots%2Fmotd-generator" "/workspace/builds/worker-0/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/andreasots/motd-generator on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/andreasots/motd-generator
[INFO] finished tweaking git repo https://github.com/andreasots/motd-generator
[INFO] tweaked toml for git repo https://github.com/andreasots/motd-generator written to /workspace/builds/worker-0/source/Cargo.toml
[INFO] crate git repo https://github.com/andreasots/motd-generator already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] error: the lock file /workspace/builds/worker-0/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" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 9b9df8900502bf5517ec05abf4f648d605c72ba78466b28063cf6a50563e33c2
[INFO] running `"docker" "start" "-a" "9b9df8900502bf5517ec05abf4f648d605c72ba78466b28063cf6a50563e33c2"`
[INFO] [stderr]     Checking pq-sys v0.2.7
[INFO] [stderr]     Checking nix v0.5.1
[INFO] [stderr]     Checking csv v0.15.0
[INFO] [stderr]     Checking tempfile v2.2.0
[INFO] [stderr]     Checking diesel v0.7.1
[INFO] [stderr]     Checking diesel v0.6.2
[INFO] [stderr]     Checking prettytable-rs v0.6.7
[INFO] [stderr]     Checking diesel_full_text_search v0.5.2
[INFO] [stderr]     Checking motd-generator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]  --> src/loadavg.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     try!(try!(File::open("/proc/loadavg")).read_to_string(&mut line));
[INFO] [stderr]   |     ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]  --> src/loadavg.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 |     try!(try!(File::open("/proc/loadavg")).read_to_string(&mut line));
[INFO] [stderr]   |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]  --> src/loadavg.rs:9:17
[INFO] [stderr]   |
[INFO] [stderr] 9 |     let regex = try!(Regex::new(r"^(\d+\.\d+) (\d+\.\d+) (\d+\.\d+) (\d+)/(\d+) (\d+)$"));
[INFO] [stderr]   |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/loadavg.rs:14:24
[INFO] [stderr]    |
[INFO] [stderr] 14 |             return Ok((try!(one.parse()), try!(five.parse()), try!(fifteen.parse())));
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/loadavg.rs:14:43
[INFO] [stderr]    |
[INFO] [stderr] 14 |             return Ok((try!(one.parse()), try!(five.parse()), try!(fifteen.parse())));
[INFO] [stderr]    |                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/loadavg.rs:14:63
[INFO] [stderr]    |
[INFO] [stderr] 14 |             return Ok((try!(one.parse()), try!(five.parse()), try!(fifteen.parse())));
[INFO] [stderr]    |                                                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/memory.rs:13:17
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let regex = try!(Regex::new(r"^([^:]+):\s*(\d+)(?: kB)?$"));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/memory.rs:17:32
[INFO] [stderr]    |
[INFO] [stderr] 17 |     for line in BufReader::new(try!(File::open("/proc/meminfo"))).lines() {
[INFO] [stderr]    |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/memory.rs:18:20
[INFO] [stderr]    |
[INFO] [stderr] 18 |         let line = try!(line);
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/memory.rs:22:55
[INFO] [stderr]    |
[INFO] [stderr] 22 |                     meminfo.insert(String::from(key), try!(value.parse::<u64>()))
[INFO] [stderr]    |                                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/statfs.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 |     try!(statfs(path, &mut stat));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:60:9
[INFO] [stderr]    |
[INFO] [stderr] 60 |         try!(write!(formatter, "Quote #{}: \"{}\"", self.id, self.quote));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:62:13
[INFO] [stderr]    |
[INFO] [stderr] 62 |             try!(write!(formatter, " —{}", name));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:65:13
[INFO] [stderr]    |
[INFO] [stderr] 65 |             try!(write!(formatter, " [{}]", date));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:75:16
[INFO] [stderr]    |
[INFO] [stderr] 75 |     let conn = try!(PgConnection::establish("postgres:///lrrbot"));
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:76:15
[INFO] [stderr]    |
[INFO] [stderr] 76 |     let res = try!(quotes.filter(deleted.eq(false).and(to_tsvector(quote)
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/loadavg.rs:6:49
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn loadavg() -> Result<(f32, f32, f32), Box<Error>> {
[INFO] [stderr]   |                                                 ^^^^^ help: use `dyn`: `dyn Error`
[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/memory.rs:12:62
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn get_memory_stats(table: &mut Table) -> 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/statfs.rs:14:68
[INFO] [stderr]    |
[INFO] [stderr] 14 | ...                   -> 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/quote.rs:71:42
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub fn get_quote() -> Result<String, 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/main.rs:47:30
[INFO] [stderr]    |
[INFO] [stderr] 47 |               .map_err(Box::<std::error::Error>::from)
[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/main.rs:49:64
[INFO] [stderr]    |
[INFO] [stderr] 49 |                   std::str::from_utf8(&host[..]).map_err(Box::<std::error::Error>::from)
[INFO] [stderr]    |                                                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'rand::sample': renamed to seq::sample_iter
[INFO] [stderr]   --> src/quote.rs:80:11
[INFO] [stderr]    |
[INFO] [stderr] 80 |     match rand::sample(&mut rand::thread_rng(), res, 1).get(0) {
[INFO] [stderr]    |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_right_matches': superseded by `trim_end_matches`
[INFO] [stderr]   --> src/main.rs:51:32
[INFO] [stderr]    |
[INFO] [stderr] 51 |               .map(|host| host.trim_right_matches('\0')) {
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `quote::quotes::columns::quote: diesel::expression::Expression` is not satisfied
[INFO] [stderr]   --> src/quote.rs:76:68
[INFO] [stderr]    |
[INFO] [stderr] 76 |     let res = try!(quotes.filter(deleted.eq(false).and(to_tsvector(quote)
[INFO] [stderr]    |                                                                    ^^^^^ the trait `diesel::expression::Expression` is not implemented for `quote::quotes::columns::quote`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/diesel-0.7.1/src/expression/functions/mod.rs:22:32
[INFO] [stderr]    |
[INFO] [stderr] 22 |             where $($arg_name: $crate::expression::AsExpression<$arg_type>),+
[INFO] [stderr]    |                                ------------------------------------------- required by this bound in `diesel_full_text_search::to_tsvector`
[INFO] [stderr]    |
[INFO] [stderr]    = note: required because of the requirements on the impl of `diesel::expression::AsExpression<diesel::types::Text>` for `quote::quotes::columns::quote`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `matches` found for struct `diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>` in the current scope
[INFO] [stderr]   --> src/quote.rs:77:61
[INFO] [stderr]    |
[INFO] [stderr] 77 | ...                   .matches(plainto_tsquery("butts"))))
[INFO] [stderr]    |                        ^^^^^^^ method not found in `diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/diesel-0.7.1/src/expression/functions/mod.rs:9:9
[INFO] [stderr]    |
[INFO] [stderr] 9  |         pub struct $struct_name<$($arg_name),*> {
[INFO] [stderr]    |         ---------------------------------------
[INFO] [stderr]    |         |
[INFO] [stderr]    |         doesn't satisfy `<_ as diesel::expression::Expression>::SqlType = diesel_full_text_search::TsVector`
[INFO] [stderr]    |         doesn't satisfy `_: diesel::expression::Expression`
[INFO] [stderr]    |         doesn't satisfy `_: diesel_full_text_search::TsVectorExtensions`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the method `matches` exists but the following trait bounds were not satisfied:
[INFO] [stderr]            `<diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote> as diesel::expression::Expression>::SqlType = diesel_full_text_search::TsVector`
[INFO] [stderr]            which is required by `diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel_full_text_search::TsVectorExtensions`
[INFO] [stderr]            `diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel::expression::Expression`
[INFO] [stderr]            which is required by `diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel_full_text_search::TsVectorExtensions`
[INFO] [stderr]            `<&diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote> as diesel::expression::Expression>::SqlType = diesel_full_text_search::TsVector`
[INFO] [stderr]            which is required by `&diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel_full_text_search::TsVectorExtensions`
[INFO] [stderr]            `&diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel::expression::Expression`
[INFO] [stderr]            which is required by `&diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel_full_text_search::TsVectorExtensions`
[INFO] [stderr]            `<&mut diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote> as diesel::expression::Expression>::SqlType = diesel_full_text_search::TsVector`
[INFO] [stderr]            which is required by `&mut diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel_full_text_search::TsVectorExtensions`
[INFO] [stderr]            `&mut diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel::expression::Expression`
[INFO] [stderr]            which is required by `&mut diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel_full_text_search::TsVectorExtensions`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `quote::quotes::columns::quote: diesel::expression::Expression` is not satisfied
[INFO] [stderr]   --> src/quote.rs:76:56
[INFO] [stderr]    |
[INFO] [stderr] 76 |     let res = try!(quotes.filter(deleted.eq(false).and(to_tsvector(quote)
[INFO] [stderr]    |                                                        ^^^^^^^^^^^ the trait `diesel::expression::Expression` is not implemented for `quote::quotes::columns::quote`
[INFO] [stderr]    |
[INFO] [stderr]    = note: required because of the requirements on the impl of `diesel::expression::AsExpression<diesel::types::Text>` for `quote::quotes::columns::quote`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TsVectorExtensions`
[INFO] [stderr]   --> src/quote.rs:72:65
[INFO] [stderr]    |
[INFO] [stderr] 72 |     use diesel_full_text_search::{plainto_tsquery, to_tsvector, TsVectorExtensions};
[INFO] [stderr]    |                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 3 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] error: could not compile `motd-generator`.
[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] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]  --> src/loadavg.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     try!(try!(File::open("/proc/loadavg")).read_to_string(&mut line));
[INFO] [stderr]   |     ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]  --> src/loadavg.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 |     try!(try!(File::open("/proc/loadavg")).read_to_string(&mut line));
[INFO] [stderr]   |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]  --> src/loadavg.rs:9:17
[INFO] [stderr]   |
[INFO] [stderr] 9 |     let regex = try!(Regex::new(r"^(\d+\.\d+) (\d+\.\d+) (\d+\.\d+) (\d+)/(\d+) (\d+)$"));
[INFO] [stderr]   |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/loadavg.rs:14:24
[INFO] [stderr]    |
[INFO] [stderr] 14 |             return Ok((try!(one.parse()), try!(five.parse()), try!(fifteen.parse())));
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/loadavg.rs:14:43
[INFO] [stderr]    |
[INFO] [stderr] 14 |             return Ok((try!(one.parse()), try!(five.parse()), try!(fifteen.parse())));
[INFO] [stderr]    |                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/loadavg.rs:14:63
[INFO] [stderr]    |
[INFO] [stderr] 14 |             return Ok((try!(one.parse()), try!(five.parse()), try!(fifteen.parse())));
[INFO] [stderr]    |                                                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/memory.rs:13:17
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let regex = try!(Regex::new(r"^([^:]+):\s*(\d+)(?: kB)?$"));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/memory.rs:17:32
[INFO] [stderr]    |
[INFO] [stderr] 17 |     for line in BufReader::new(try!(File::open("/proc/meminfo"))).lines() {
[INFO] [stderr]    |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/memory.rs:18:20
[INFO] [stderr]    |
[INFO] [stderr] 18 |         let line = try!(line);
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/memory.rs:22:55
[INFO] [stderr]    |
[INFO] [stderr] 22 |                     meminfo.insert(String::from(key), try!(value.parse::<u64>()))
[INFO] [stderr]    |                                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/statfs.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 |     try!(statfs(path, &mut stat));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:8:1
[INFO] [stderr]    |
[INFO] [stderr] 8  | / table! {
[INFO] [stderr] 9  | |     quotes {
[INFO] [stderr] 10 | |         id -> Integer,
[INFO] [stderr] 11 | |         quote -> Text,
[INFO] [stderr] ...  |
[INFO] [stderr] 18 | |     }
[INFO] [stderr] 19 | | }
[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 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:60:9
[INFO] [stderr]    |
[INFO] [stderr] 60 |         try!(write!(formatter, "Quote #{}: \"{}\"", self.id, self.quote));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:62:13
[INFO] [stderr]    |
[INFO] [stderr] 62 |             try!(write!(formatter, " —{}", name));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:65:13
[INFO] [stderr]    |
[INFO] [stderr] 65 |             try!(write!(formatter, " [{}]", date));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:75:16
[INFO] [stderr]    |
[INFO] [stderr] 75 |     let conn = try!(PgConnection::establish("postgres:///lrrbot"));
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/quote.rs:76:15
[INFO] [stderr]    |
[INFO] [stderr] 76 |     let res = try!(quotes.filter(deleted.eq(false).and(to_tsvector(quote)
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/loadavg.rs:6:49
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn loadavg() -> Result<(f32, f32, f32), Box<Error>> {
[INFO] [stderr]   |                                                 ^^^^^ help: use `dyn`: `dyn Error`
[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/memory.rs:12:62
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn get_memory_stats(table: &mut Table) -> 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/statfs.rs:14:68
[INFO] [stderr]    |
[INFO] [stderr] 14 | ...                   -> 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/quote.rs:71:42
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub fn get_quote() -> Result<String, 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/main.rs:47:30
[INFO] [stderr]    |
[INFO] [stderr] 47 |               .map_err(Box::<std::error::Error>::from)
[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/main.rs:49:64
[INFO] [stderr]    |
[INFO] [stderr] 49 |                   std::str::from_utf8(&host[..]).map_err(Box::<std::error::Error>::from)
[INFO] [stderr]    |                                                                ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'rand::sample': renamed to seq::sample_iter
[INFO] [stderr]   --> src/quote.rs:80:11
[INFO] [stderr]    |
[INFO] [stderr] 80 |     match rand::sample(&mut rand::thread_rng(), res, 1).get(0) {
[INFO] [stderr]    |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_right_matches': superseded by `trim_end_matches`
[INFO] [stderr]   --> src/main.rs:51:32
[INFO] [stderr]    |
[INFO] [stderr] 51 |               .map(|host| host.trim_right_matches('\0')) {
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `quote::quotes::columns::quote: diesel::expression::Expression` is not satisfied
[INFO] [stderr]   --> src/quote.rs:76:68
[INFO] [stderr]    |
[INFO] [stderr] 76 |     let res = try!(quotes.filter(deleted.eq(false).and(to_tsvector(quote)
[INFO] [stderr]    |                                                                    ^^^^^ the trait `diesel::expression::Expression` is not implemented for `quote::quotes::columns::quote`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/diesel-0.7.1/src/expression/functions/mod.rs:22:32
[INFO] [stderr]    |
[INFO] [stderr] 22 |             where $($arg_name: $crate::expression::AsExpression<$arg_type>),+
[INFO] [stderr]    |                                ------------------------------------------- required by this bound in `diesel_full_text_search::to_tsvector`
[INFO] [stderr]    |
[INFO] [stderr]    = note: required because of the requirements on the impl of `diesel::expression::AsExpression<diesel::types::Text>` for `quote::quotes::columns::quote`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `matches` found for struct `diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>` in the current scope
[INFO] [stderr]   --> src/quote.rs:77:61
[INFO] [stderr]    |
[INFO] [stderr] 77 | ...                   .matches(plainto_tsquery("butts"))))
[INFO] [stderr]    |                        ^^^^^^^ method not found in `diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>`
[INFO] [stderr]    | 
[INFO] [stderr]   ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/diesel-0.7.1/src/expression/functions/mod.rs:9:9
[INFO] [stderr]    |
[INFO] [stderr] 9  |         pub struct $struct_name<$($arg_name),*> {
[INFO] [stderr]    |         ---------------------------------------
[INFO] [stderr]    |         |
[INFO] [stderr]    |         doesn't satisfy `<_ as diesel::expression::Expression>::SqlType = diesel_full_text_search::TsVector`
[INFO] [stderr]    |         doesn't satisfy `_: diesel::expression::Expression`
[INFO] [stderr]    |         doesn't satisfy `_: diesel_full_text_search::TsVectorExtensions`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the method `matches` exists but the following trait bounds were not satisfied:
[INFO] [stderr]            `<diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote> as diesel::expression::Expression>::SqlType = diesel_full_text_search::TsVector`
[INFO] [stderr]            which is required by `diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel_full_text_search::TsVectorExtensions`
[INFO] [stderr]            `diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel::expression::Expression`
[INFO] [stderr]            which is required by `diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel_full_text_search::TsVectorExtensions`
[INFO] [stderr]            `<&diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote> as diesel::expression::Expression>::SqlType = diesel_full_text_search::TsVector`
[INFO] [stderr]            which is required by `&diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel_full_text_search::TsVectorExtensions`
[INFO] [stderr]            `&diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel::expression::Expression`
[INFO] [stderr]            which is required by `&diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel_full_text_search::TsVectorExtensions`
[INFO] [stderr]            `<&mut diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote> as diesel::expression::Expression>::SqlType = diesel_full_text_search::TsVector`
[INFO] [stderr]            which is required by `&mut diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel_full_text_search::TsVectorExtensions`
[INFO] [stderr]            `&mut diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel::expression::Expression`
[INFO] [stderr]            which is required by `&mut diesel_full_text_search::to_tsvector_t<quote::quotes::columns::quote>: diesel_full_text_search::TsVectorExtensions`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the trait bound `quote::quotes::columns::quote: diesel::expression::Expression` is not satisfied
[INFO] [stderr]   --> src/quote.rs:76:56
[INFO] [stderr]    |
[INFO] [stderr] 76 |     let res = try!(quotes.filter(deleted.eq(false).and(to_tsvector(quote)
[INFO] [stderr]    |                                                        ^^^^^^^^^^^ the trait `diesel::expression::Expression` is not implemented for `quote::quotes::columns::quote`
[INFO] [stderr]    |
[INFO] [stderr]    = note: required because of the requirements on the impl of `diesel::expression::AsExpression<diesel::types::Text>` for `quote::quotes::columns::quote`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TsVectorExtensions`
[INFO] [stderr]   --> src/quote.rs:72:65
[INFO] [stderr]    |
[INFO] [stderr] 72 |     use diesel_full_text_search::{plainto_tsquery, to_tsvector, TsVectorExtensions};
[INFO] [stderr]    |                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 3 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] error: could not compile `motd-generator`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "9b9df8900502bf5517ec05abf4f648d605c72ba78466b28063cf6a50563e33c2"`
[INFO] running `"docker" "rm" "-f" "9b9df8900502bf5517ec05abf4f648d605c72ba78466b28063cf6a50563e33c2"`
[INFO] [stdout] 9b9df8900502bf5517ec05abf4f648d605c72ba78466b28063cf6a50563e33c2
