[INFO] cloning repository https://github.com/arrno/ruqu [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/arrno/ruqu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farrno%2Fruqu", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farrno%2Fruqu'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ef939471c0882d704fc0a25dc29bd618c85e5ab3 [INFO] checking arrno/ruqu against master#22572d0994593197593e2a1b7b18d720a9a349a7 for pr-126452-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farrno%2Fruqu" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/arrno/ruqu on toolchain 22572d0994593197593e2a1b7b18d720a9a349a7 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/arrno/ruqu [INFO] finished tweaking git repo https://github.com/arrno/ruqu [INFO] tweaked toml for git repo https://github.com/arrno/ruqu written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/arrno/ruqu already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 113d3f3d4f9fb73cdf6b5a6217a6d038dde6c8a5254b2c98046054e97240c2cb [INFO] running `Command { std: "docker" "start" "-a" "113d3f3d4f9fb73cdf6b5a6217a6d038dde6c8a5254b2c98046054e97240c2cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "113d3f3d4f9fb73cdf6b5a6217a6d038dde6c8a5254b2c98046054e97240c2cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "113d3f3d4f9fb73cdf6b5a6217a6d038dde6c8a5254b2c98046054e97240c2cb", kill_on_drop: false }` [INFO] [stdout] 113d3f3d4f9fb73cdf6b5a6217a6d038dde6c8a5254b2c98046054e97240c2cb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+22572d0994593197593e2a1b7b18d720a9a349a7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6d0575d552cad4339b7057554a8ea22126b8d87a4d48f1c7fec4fd029a48503e [INFO] running `Command { std: "docker" "start" "-a" "6d0575d552cad4339b7057554a8ea22126b8d87a4d48f1c7fec4fd029a48503e", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Compiling serde_json v1.0.120 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking typeid v1.0.0 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling syn v2.0.68 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Checking erased-serde v0.4.5 [INFO] [stderr] Checking ruqu v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/table.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | Instr((Option>), String), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 43 - Instr((Option>), String), [INFO] [stdout] 43 + Instr(Option>, String), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/table.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | Instr((Option>), String), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 43 - Instr((Option>), String), [INFO] [stdout] 43 + Instr(Option>, String), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Lt`, `In`, and `IsNot` are never constructed [INFO] [stdout] --> src/expressions.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 69 | pub enum Op { [INFO] [stdout] | -- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 72 | Lt, [INFO] [stdout] | ^^ [INFO] [stdout] 73 | Gt, [INFO] [stdout] 74 | In, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 77 | IsNot, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `or` is never used [INFO] [stdout] --> src/expressions.rs:143:12 [INFO] [stdout] | [INFO] [stdout] 124 | impl Exp { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn or(self, exp: Exp) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `T` is never constructed [INFO] [stdout] --> src/expressions.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 191 | pub enum ExpTar { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 195 | T(MYSQLBuilder), [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/mysql.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 165 | impl MYSQLBuilder { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 166 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/statements.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 169 | impl Where { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 170 | pub fn new(exp: Exp) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Desc` is never constructed [INFO] [stdout] --> src/statements.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 182 | pub enum Dir { [INFO] [stdout] | --- variant in this enum [INFO] [stdout] 183 | Asc, [INFO] [stdout] 184 | Desc, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dir` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `col` is never used [INFO] [stdout] --> src/table.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl Table { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | fn col(&self, name: String) -> Col { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Distinct`, `Sum`, `Avg`, `Concat`, and `Coalesce` are never constructed [INFO] [stdout] --> src/table.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 35 | enum Wrapper { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 36 | Distinct(Option>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 37 | Count(Option>), [INFO] [stdout] 38 | Sum(Option>), [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | Avg(Option>), [INFO] [stdout] | ^^^ [INFO] [stdout] 42 | Concat(Option>), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 43 | Instr((Option>), String), [INFO] [stdout] 44 | Coalesce(Option>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Wrapper` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/table.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl Col { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn name(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn lt(&self, exp: T) -> Exp { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn r#in(&self, exp: T) -> Exp { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn is_not_null(&self) -> Exp { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn asc(&self) -> Order { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn desc(&self) -> Order { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn distinct(self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn sum(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn avg(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn concat(self) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn coalesce(self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `distinct`, `left_join`, `right_join`, `union`, `group_by`, and `having` are never used [INFO] [stdout] --> src/traits.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub trait FetchQBuilder { [INFO] [stdout] | ------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 14 | fn distinct(self) -> Self; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 15 | fn join(self, table: Table, on: On) -> Self; [INFO] [stdout] 16 | fn left_join(self, table: Table, on: Exp) -> Self; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 17 | fn right_join(self, table: Table, on: Exp) -> Self; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 18 | fn union(self, query: Self) -> Self; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 19 | fn order(self, by: Col, dir: Dir) -> Self; [INFO] [stdout] 20 | fn group_by(self, by: Col) -> Self; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 21 | fn having(self, exp: ExpU) -> Self; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/mysql.rs:192:24 [INFO] [stdout] | [INFO] [stdout] 192 | for r#where in &self.r#where { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 192 | while let Some(r#where) = &self.r#where { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 192 | if let Some(r#where) = &self.r#where { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Lt`, `In`, and `IsNot` are never constructed [INFO] [stdout] --> src/expressions.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 69 | pub enum Op { [INFO] [stdout] | -- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 72 | Lt, [INFO] [stdout] | ^^ [INFO] [stdout] 73 | Gt, [INFO] [stdout] 74 | In, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 77 | IsNot, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `or` is never used [INFO] [stdout] --> src/expressions.rs:143:12 [INFO] [stdout] | [INFO] [stdout] 124 | impl Exp { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn or(self, exp: Exp) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `T` is never constructed [INFO] [stdout] --> src/expressions.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 191 | pub enum ExpTar { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 195 | T(MYSQLBuilder), [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/mysql.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 165 | impl MYSQLBuilder { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 166 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/statements.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 169 | impl Where { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 170 | pub fn new(exp: Exp) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Desc` is never constructed [INFO] [stdout] --> src/statements.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 182 | pub enum Dir { [INFO] [stdout] | --- variant in this enum [INFO] [stdout] 183 | Asc, [INFO] [stdout] 184 | Desc, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dir` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `col` is never used [INFO] [stdout] --> src/table.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl Table { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | fn col(&self, name: String) -> Col { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Distinct`, `Sum`, `Avg`, `Concat`, and `Coalesce` are never constructed [INFO] [stdout] --> src/table.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 35 | enum Wrapper { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 36 | Distinct(Option>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 37 | Count(Option>), [INFO] [stdout] 38 | Sum(Option>), [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | Avg(Option>), [INFO] [stdout] | ^^^ [INFO] [stdout] 42 | Concat(Option>), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 43 | Instr((Option>), String), [INFO] [stdout] 44 | Coalesce(Option>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Wrapper` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/table.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl Col { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn name(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn lt(&self, exp: T) -> Exp { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn r#in(&self, exp: T) -> Exp { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn is_not_null(&self) -> Exp { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn asc(&self) -> Order { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn desc(&self) -> Order { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn distinct(self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn sum(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn avg(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn concat(self) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn coalesce(self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `distinct`, `left_join`, `right_join`, `union`, `group_by`, and `having` are never used [INFO] [stdout] --> src/traits.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub trait FetchQBuilder { [INFO] [stdout] | ------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 14 | fn distinct(self) -> Self; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 15 | fn join(self, table: Table, on: On) -> Self; [INFO] [stdout] 16 | fn left_join(self, table: Table, on: Exp) -> Self; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 17 | fn right_join(self, table: Table, on: Exp) -> Self; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 18 | fn union(self, query: Self) -> Self; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 19 | fn order(self, by: Col, dir: Dir) -> Self; [INFO] [stdout] 20 | fn group_by(self, by: Col) -> Self; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 21 | fn having(self, exp: ExpU) -> Self; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/mysql.rs:192:24 [INFO] [stdout] | [INFO] [stdout] 192 | for r#where in &self.r#where { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 192 | while let Some(r#where) = &self.r#where { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 192 | if let Some(r#where) = &self.r#where { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.34s [INFO] running `Command { std: "docker" "inspect" "6d0575d552cad4339b7057554a8ea22126b8d87a4d48f1c7fec4fd029a48503e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d0575d552cad4339b7057554a8ea22126b8d87a4d48f1c7fec4fd029a48503e", kill_on_drop: false }` [INFO] [stdout] 6d0575d552cad4339b7057554a8ea22126b8d87a4d48f1c7fec4fd029a48503e [INFO] checking arrno/ruqu against try#6289438dbad80b1a0029c66dd3f6abf57c2c51be for pr-126452-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farrno%2Fruqu" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/arrno/ruqu on toolchain 6289438dbad80b1a0029c66dd3f6abf57c2c51be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/arrno/ruqu [INFO] finished tweaking git repo https://github.com/arrno/ruqu [INFO] tweaked toml for git repo https://github.com/arrno/ruqu written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/arrno/ruqu already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 85321aae154d4836e97149e2e9451ee5bb94d1938bf8014d4e837fce6182695a [INFO] running `Command { std: "docker" "start" "-a" "85321aae154d4836e97149e2e9451ee5bb94d1938bf8014d4e837fce6182695a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "85321aae154d4836e97149e2e9451ee5bb94d1938bf8014d4e837fce6182695a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "85321aae154d4836e97149e2e9451ee5bb94d1938bf8014d4e837fce6182695a", kill_on_drop: false }` [INFO] [stdout] 85321aae154d4836e97149e2e9451ee5bb94d1938bf8014d4e837fce6182695a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+6289438dbad80b1a0029c66dd3f6abf57c2c51be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 34c4c70452749c4d76203abb0fbd6ac8c178ab52903acd51cb8f93aacf3299ba [INFO] running `Command { std: "docker" "start" "-a" "34c4c70452749c4d76203abb0fbd6ac8c178ab52903acd51cb8f93aacf3299ba", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Compiling serde_json v1.0.120 [INFO] [stderr] Checking typeid v1.0.0 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling syn v2.0.68 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Checking erased-serde v0.4.5 [INFO] [stderr] Checking ruqu v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/table.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | Instr((Option>), String), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 43 - Instr((Option>), String), [INFO] [stdout] 43 + Instr(Option>, String), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/table.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | Instr((Option>), String), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 43 - Instr((Option>), String), [INFO] [stdout] 43 + Instr(Option>, String), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Lt`, `In`, and `IsNot` are never constructed [INFO] [stdout] --> src/expressions.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 69 | pub enum Op { [INFO] [stdout] | -- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 72 | Lt, [INFO] [stdout] | ^^ [INFO] [stdout] 73 | Gt, [INFO] [stdout] 74 | In, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 77 | IsNot, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `or` is never used [INFO] [stdout] --> src/expressions.rs:143:12 [INFO] [stdout] | [INFO] [stdout] 124 | impl Exp { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn or(self, exp: Exp) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `T` is never constructed [INFO] [stdout] --> src/expressions.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 191 | pub enum ExpTar { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 195 | T(MYSQLBuilder), [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/mysql.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 165 | impl MYSQLBuilder { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 166 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/statements.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 169 | impl Where { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 170 | pub fn new(exp: Exp) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Desc` is never constructed [INFO] [stdout] --> src/statements.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 182 | pub enum Dir { [INFO] [stdout] | --- variant in this enum [INFO] [stdout] 183 | Asc, [INFO] [stdout] 184 | Desc, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dir` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `col` is never used [INFO] [stdout] --> src/table.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl Table { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | fn col(&self, name: String) -> Col { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Distinct`, `Sum`, `Avg`, `Concat`, and `Coalesce` are never constructed [INFO] [stdout] --> src/table.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 35 | enum Wrapper { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 36 | Distinct(Option>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 37 | Count(Option>), [INFO] [stdout] 38 | Sum(Option>), [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | Avg(Option>), [INFO] [stdout] | ^^^ [INFO] [stdout] 42 | Concat(Option>), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 43 | Instr((Option>), String), [INFO] [stdout] 44 | Coalesce(Option>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Wrapper` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/table.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl Col { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn name(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn lt(&self, exp: T) -> Exp { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn r#in(&self, exp: T) -> Exp { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn is_not_null(&self) -> Exp { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn asc(&self) -> Order { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn desc(&self) -> Order { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn distinct(self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn sum(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn avg(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn concat(self) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn coalesce(self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `distinct`, `left_join`, `right_join`, `union`, `group_by`, and `having` are never used [INFO] [stdout] --> src/traits.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub trait FetchQBuilder { [INFO] [stdout] | ------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 14 | fn distinct(self) -> Self; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 15 | fn join(self, table: Table, on: On) -> Self; [INFO] [stdout] 16 | fn left_join(self, table: Table, on: Exp) -> Self; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 17 | fn right_join(self, table: Table, on: Exp) -> Self; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 18 | fn union(self, query: Self) -> Self; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 19 | fn order(self, by: Col, dir: Dir) -> Self; [INFO] [stdout] 20 | fn group_by(self, by: Col) -> Self; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 21 | fn having(self, exp: ExpU) -> Self; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/mysql.rs:192:24 [INFO] [stdout] | [INFO] [stdout] 192 | for r#where in &self.r#where { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 192 | while let Some(r#where) = &self.r#where { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 192 | if let Some(r#where) = &self.r#where { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Lt`, `In`, and `IsNot` are never constructed [INFO] [stdout] --> src/expressions.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 69 | pub enum Op { [INFO] [stdout] | -- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 72 | Lt, [INFO] [stdout] | ^^ [INFO] [stdout] 73 | Gt, [INFO] [stdout] 74 | In, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 77 | IsNot, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `or` is never used [INFO] [stdout] --> src/expressions.rs:143:12 [INFO] [stdout] | [INFO] [stdout] 124 | impl Exp { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn or(self, exp: Exp) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `T` is never constructed [INFO] [stdout] --> src/expressions.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 191 | pub enum ExpTar { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 195 | T(MYSQLBuilder), [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/mysql.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 165 | impl MYSQLBuilder { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 166 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/statements.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 169 | impl Where { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 170 | pub fn new(exp: Exp) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Desc` is never constructed [INFO] [stdout] --> src/statements.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 182 | pub enum Dir { [INFO] [stdout] | --- variant in this enum [INFO] [stdout] 183 | Asc, [INFO] [stdout] 184 | Desc, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dir` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `col` is never used [INFO] [stdout] --> src/table.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl Table { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | fn col(&self, name: String) -> Col { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Distinct`, `Sum`, `Avg`, `Concat`, and `Coalesce` are never constructed [INFO] [stdout] --> src/table.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 35 | enum Wrapper { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 36 | Distinct(Option>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 37 | Count(Option>), [INFO] [stdout] 38 | Sum(Option>), [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | Avg(Option>), [INFO] [stdout] | ^^^ [INFO] [stdout] 42 | Concat(Option>), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 43 | Instr((Option>), String), [INFO] [stdout] 44 | Coalesce(Option>), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Wrapper` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/table.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl Col { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn name(&self) -> &str { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn lt(&self, exp: T) -> Exp { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub fn r#in(&self, exp: T) -> Exp { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn is_not_null(&self) -> Exp { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn asc(&self) -> Order { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn desc(&self) -> Order { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn distinct(self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn sum(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn avg(self) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn concat(self) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn coalesce(self) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `distinct`, `left_join`, `right_join`, `union`, `group_by`, and `having` are never used [INFO] [stdout] --> src/traits.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub trait FetchQBuilder { [INFO] [stdout] | ------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 14 | fn distinct(self) -> Self; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 15 | fn join(self, table: Table, on: On) -> Self; [INFO] [stdout] 16 | fn left_join(self, table: Table, on: Exp) -> Self; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 17 | fn right_join(self, table: Table, on: Exp) -> Self; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 18 | fn union(self, query: Self) -> Self; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 19 | fn order(self, by: Col, dir: Dir) -> Self; [INFO] [stdout] 20 | fn group_by(self, by: Col) -> Self; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 21 | fn having(self, exp: ExpU) -> Self; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/mysql.rs:192:24 [INFO] [stdout] | [INFO] [stdout] 192 | for r#where in &self.r#where { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 192 | while let Some(r#where) = &self.r#where { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 192 | if let Some(r#where) = &self.r#where { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.89s [INFO] running `Command { std: "docker" "inspect" "34c4c70452749c4d76203abb0fbd6ac8c178ab52903acd51cb8f93aacf3299ba", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "34c4c70452749c4d76203abb0fbd6ac8c178ab52903acd51cb8f93aacf3299ba", kill_on_drop: false }` [INFO] [stdout] 34c4c70452749c4d76203abb0fbd6ac8c178ab52903acd51cb8f93aacf3299ba