[INFO] cloning repository https://github.com/andreasots/motd-generator [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/andreasots/motd-generator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreasots%2Fmotd-generator"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreasots%2Fmotd-generator'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 77d8e0193e6d1ae0680a22f4b6e53020e3d1f046 [INFO] testing andreasots/motd-generator against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreasots%2Fmotd-generator" "/workspace/builds/worker-5/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/andreasots/motd-generator on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "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-5/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" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] error: the lock file /workspace/builds/worker-5/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" "+1.44.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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=warn" "-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" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 59bc7089140ba7f58356771653f0a92bcf35a9c534984df1af1ddfcf4ffab467 [INFO] running `"docker" "start" "-a" "59bc7089140ba7f58356771653f0a92bcf35a9c534984df1af1ddfcf4ffab467"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling libc v0.2.71 [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Compiling pq-sys v0.2.7 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling winapi v0.2.8 [INFO] [stderr] Compiling byteorder v0.3.13 [INFO] [stderr] Compiling rustc-serialize v0.3.24 [INFO] [stderr] Compiling utf8-ranges v0.1.3 [INFO] [stderr] Compiling regex-syntax v0.3.9 [INFO] [stderr] Compiling bitflags v0.4.0 [INFO] [stderr] Compiling term v0.4.6 [INFO] [stderr] Compiling encode_unicode v0.3.6 [INFO] [stderr] Compiling num-traits v0.2.11 [INFO] [stderr] Compiling num-integer v0.1.42 [INFO] [stderr] Compiling num-iter v0.1.40 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Compiling time v0.1.43 [INFO] [stderr] Compiling memchr v1.0.2 [INFO] [stderr] Compiling thread-id v2.0.0 [INFO] [stderr] Compiling memchr v0.1.11 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling nix v0.5.1 [INFO] [stderr] Compiling thread_local v0.2.7 [INFO] [stderr] Compiling diesel v0.7.1 [INFO] [stderr] Compiling aho-corasick v0.5.3 [INFO] [stderr] Compiling regex v0.1.80 [INFO] [stderr] Compiling num v0.1.42 [INFO] [stderr] Compiling chrono v0.2.25 [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling tempfile v2.2.0 [INFO] [stderr] Compiling csv v0.15.0 [INFO] [stderr] Compiling prettytable-rs v0.6.7 [INFO] [stderr] Compiling diesel v0.6.2 [INFO] [stderr] Compiling diesel_full_text_search v0.5.2 [INFO] [stderr] Compiling 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::())) [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> { [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> { [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> { [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> { [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::::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::::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::::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` 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` 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` [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] ` as diesel::expression::Expression>::SqlType = diesel_full_text_search::TsVector` [INFO] [stderr] which is required by `diesel_full_text_search::to_tsvector_t: diesel_full_text_search::TsVectorExtensions` [INFO] [stderr] `diesel_full_text_search::to_tsvector_t: diesel::expression::Expression` [INFO] [stderr] which is required by `diesel_full_text_search::to_tsvector_t: diesel_full_text_search::TsVectorExtensions` [INFO] [stderr] `<&diesel_full_text_search::to_tsvector_t as diesel::expression::Expression>::SqlType = diesel_full_text_search::TsVector` [INFO] [stderr] which is required by `&diesel_full_text_search::to_tsvector_t: diesel_full_text_search::TsVectorExtensions` [INFO] [stderr] `&diesel_full_text_search::to_tsvector_t: diesel::expression::Expression` [INFO] [stderr] which is required by `&diesel_full_text_search::to_tsvector_t: diesel_full_text_search::TsVectorExtensions` [INFO] [stderr] `<&mut diesel_full_text_search::to_tsvector_t as diesel::expression::Expression>::SqlType = diesel_full_text_search::TsVector` [INFO] [stderr] which is required by `&mut diesel_full_text_search::to_tsvector_t: diesel_full_text_search::TsVectorExtensions` [INFO] [stderr] `&mut diesel_full_text_search::to_tsvector_t: diesel::expression::Expression` [INFO] [stderr] which is required by `&mut diesel_full_text_search::to_tsvector_t: 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` 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; 34 warnings emitted [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" "59bc7089140ba7f58356771653f0a92bcf35a9c534984df1af1ddfcf4ffab467"` [INFO] running `"docker" "rm" "-f" "59bc7089140ba7f58356771653f0a92bcf35a9c534984df1af1ddfcf4ffab467"` [INFO] [stdout] 59bc7089140ba7f58356771653f0a92bcf35a9c534984df1af1ddfcf4ffab467