[INFO] fetching crate toql_core 0.4.2...
[INFO] testing toql_core-0.4.2 against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] extracting crate toql_core 0.4.2 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate toql_core 0.4.2
[INFO] finished tweaking crates.io crate toql_core 0.4.2
[INFO] tweaked toml for crates.io crate toql_core 0.4.2 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate toql_core 0.4.2 on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 72 packages to latest compatible versions
[INFO] [stderr]       Adding heck v0.3.3 (available: v0.5.0)
[INFO] [stderr]       Adding lru v0.6.6 (available: v0.16.2)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.17)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7fc1059492c88de84a570ef664ec76ab4749c0b7789628b820fdd69aca9321a8
[INFO] running `Command { std: "docker" "start" "-a" "7fc1059492c88de84a570ef664ec76ab4749c0b7789628b820fdd69aca9321a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7fc1059492c88de84a570ef664ec76ab4749c0b7789628b820fdd69aca9321a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7fc1059492c88de84a570ef664ec76ab4749c0b7789628b820fdd69aca9321a8", kill_on_drop: false }`
[INFO] [stdout] 7fc1059492c88de84a570ef664ec76ab4749c0b7789628b820fdd69aca9321a8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 392594e95f1189785d67d3e6b36a852023afc579c3201414a045f7597dd28c5d
[INFO] running `Command { std: "docker" "start" "-a" "392594e95f1189785d67d3e6b36a852023afc579c3201414a045f7597dd28c5d", kill_on_drop: false }`
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling pest v2.8.3
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling lru v0.6.6
[INFO] [stderr]    Compiling pest_meta v2.8.3
[INFO] [stderr]    Compiling pest_generator v2.8.3
[INFO] [stderr]    Compiling pest_derive v2.8.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling toql_query_parser v0.4.0
[INFO] [stderr]    Compiling toql_role_expr_parser v0.4.0
[INFO] [stderr]    Compiling toql_sql_expr_parser v0.4.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling enquote v1.1.0
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling toql_core v0.4.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/field_handler.rs:54:26
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl std::fmt::Debug for (dyn FieldHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stdout]    |                          ^                                                                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 - impl std::fmt::Debug for (dyn FieldHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stdout] 54 + impl std::fmt::Debug for dyn FieldHandler + std::marker::Send + std::marker::Sync + 'static {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/join_handler.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl std::fmt::Debug for (dyn JoinHandler + Send + Sync + 'static) {
[INFO] [stdout]    |                          ^                                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 - impl std::fmt::Debug for (dyn JoinHandler + Send + Sync + 'static) {
[INFO] [stdout] 51 + impl std::fmt::Debug for dyn JoinHandler + Send + Sync + 'static {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/predicate_handler.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl std::fmt::Debug for (dyn PredicateHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stdout]    |                          ^                                                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 19 - impl std::fmt::Debug for (dyn PredicateHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stdout] 19 + impl std::fmt::Debug for dyn PredicateHandler + std::marker::Send + std::marker::Sync + 'static {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `debug_assertion`
[INFO] [stdout]    --> src/table_mapper.rs:351:17
[INFO] [stdout]     |
[INFO] [stdout] 351 |         if cfg!(debug_assertion) && name.len() <= 3 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ help: there is a config with a similar name: `debug_assertions`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(debug_assertion)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(debug_assertion)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `selections` is never read
[INFO] [stdout]   --> src/query/selection.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SelectionPool<'a> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 11 |     pub(crate) selections: &'a [&'a Selection],
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SelectionPool` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `on_aux_params` is never read
[INFO] [stdout]   --> src/table_mapper/field_options.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub struct FieldOptions {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub(crate) on_aux_params: Vec<String>, // Identity params for on clauses
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldOptions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/query/field_path.rs:23:47
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn split_basename(path_with_basename: &str) -> (FieldPath, &str) {
[INFO] [stdout]    |                                               ^^^^      ---------  ---- the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                               |         |
[INFO] [stdout]    |                                               |         the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                               this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn split_basename(path_with_basename: &str) -> (FieldPath<'_>, &str) {
[INFO] [stdout]    |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/query/field_path.rs:35:46
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn trim_basename(path_with_basename: &str) -> FieldPath {
[INFO] [stdout]    |                                              ^^^^     --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn trim_basename(path_with_basename: &str) -> FieldPath<'_> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/query/field_path.rs:47:15
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn or(&self, b: &'a FieldPath) -> &FieldPath {
[INFO] [stdout]    |               ^^^^^                       ----------
[INFO] [stdout]    |               |                           ||
[INFO] [stdout]    |               |                           |the lifetimes get resolved as `'_`
[INFO] [stdout]    |               |                           the lifetimes get resolved as `'_`
[INFO] [stdout]    |               this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn or(&self, b: &'a FieldPath) -> &FieldPath<'_> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/query/field_path.rs:91:26
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn localize_path(&self, home_path: &str) -> Option<FieldPath> {
[INFO] [stdout]    |                          ^^^^^                             --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn localize_path(&self, home_path: &str) -> Option<FieldPath<'_>> {
[INFO] [stdout]    |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/query/field_path.rs:107:20
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn parents(&self) -> Parents {
[INFO] [stdout]     |                    ^^^^^     ------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn parents(&self) -> Parents<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/query/field_path.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn children(&self) -> Children {
[INFO] [stdout]     |                     ^^^^^     -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn children(&self) -> Children<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/query/field_path.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn step_down(&self) -> StepDown {
[INFO] [stdout]     |                      ^^^^^     -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn step_down(&self) -> StepDown<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/query/field_path.rs:137:20
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn step_up(&self) -> StepUp {
[INFO] [stdout]     |                    ^^^^^     ------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn step_up(&self) -> StepUp<'_> {
[INFO] [stdout]     |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/sql_builder.rs:859:29
[INFO] [stdout]     |
[INFO] [stdout] 859 |     fn canonical_alias<'c>(&'c self, query_path: &'c FieldPath) -> Result<Cow<String>> {
[INFO] [stdout]     |                             ^^                    ^^                      ----------- the lifetime gets resolved as `'c`
[INFO] [stdout]     |                             |                     |
[INFO] [stdout]     |                             |                     these lifetimes flow to the output
[INFO] [stdout]     |                             these lifetimes flow to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to consistently use `'c`
[INFO] [stdout]     |
[INFO] [stdout] 859 |     fn canonical_alias<'c>(&'c self, query_path: &'c FieldPath) -> Result<Cow<'c, String>> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 51s
[INFO] running `Command { std: "docker" "inspect" "392594e95f1189785d67d3e6b36a852023afc579c3201414a045f7597dd28c5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "392594e95f1189785d67d3e6b36a852023afc579c3201414a045f7597dd28c5d", kill_on_drop: false }`
[INFO] [stdout] 392594e95f1189785d67d3e6b36a852023afc579c3201414a045f7597dd28c5d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ee50076288a1a04d057dd45d9eeb0c5579076417c70d66c0b1c1e37ea1daee82
[INFO] running `Command { std: "docker" "start" "-a" "ee50076288a1a04d057dd45d9eeb0c5579076417c70d66c0b1c1e37ea1daee82", kill_on_drop: false }`
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/field_handler.rs:54:26
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl std::fmt::Debug for (dyn FieldHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stdout]    |                          ^                                                                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 - impl std::fmt::Debug for (dyn FieldHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stdout] 54 + impl std::fmt::Debug for dyn FieldHandler + std::marker::Send + std::marker::Sync + 'static {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/join_handler.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl std::fmt::Debug for (dyn JoinHandler + Send + Sync + 'static) {
[INFO] [stdout]    |                          ^                                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 - impl std::fmt::Debug for (dyn JoinHandler + Send + Sync + 'static) {
[INFO] [stdout] 51 + impl std::fmt::Debug for dyn JoinHandler + Send + Sync + 'static {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/predicate_handler.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl std::fmt::Debug for (dyn PredicateHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stdout]    |                          ^                                                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 19 - impl std::fmt::Debug for (dyn PredicateHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stdout] 19 + impl std::fmt::Debug for dyn PredicateHandler + std::marker::Send + std::marker::Sync + 'static {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `debug_assertion`
[INFO] [stdout]    --> src/table_mapper.rs:351:17
[INFO] [stdout]     |
[INFO] [stdout] 351 |         if cfg!(debug_assertion) && name.len() <= 3 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ help: there is a config with a similar name: `debug_assertions`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(debug_assertion)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(debug_assertion)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `selections` is never read
[INFO] [stdout]   --> src/query/selection.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SelectionPool<'a> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 11 |     pub(crate) selections: &'a [&'a Selection],
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SelectionPool` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `on_aux_params` is never read
[INFO] [stdout]   --> src/table_mapper/field_options.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub struct FieldOptions {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub(crate) on_aux_params: Vec<String>, // Identity params for on clauses
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldOptions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/query/field_path.rs:23:47
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn split_basename(path_with_basename: &str) -> (FieldPath, &str) {
[INFO] [stdout]    |                                               ^^^^      ---------  ---- the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                               |         |
[INFO] [stdout]    |                                               |         the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                               this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn split_basename(path_with_basename: &str) -> (FieldPath<'_>, &str) {
[INFO] [stdout]    |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/query/field_path.rs:35:46
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn trim_basename(path_with_basename: &str) -> FieldPath {
[INFO] [stdout]    |                                              ^^^^     --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn trim_basename(path_with_basename: &str) -> FieldPath<'_> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/query/field_path.rs:47:15
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn or(&self, b: &'a FieldPath) -> &FieldPath {
[INFO] [stdout]    |               ^^^^^                       ----------
[INFO] [stdout]    |               |                           ||
[INFO] [stdout]    |               |                           |the lifetimes get resolved as `'_`
[INFO] [stdout]    |               |                           the lifetimes get resolved as `'_`
[INFO] [stdout]    |               this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn or(&self, b: &'a FieldPath) -> &FieldPath<'_> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/query/field_path.rs:91:26
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn localize_path(&self, home_path: &str) -> Option<FieldPath> {
[INFO] [stdout]    |                          ^^^^^                             --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn localize_path(&self, home_path: &str) -> Option<FieldPath<'_>> {
[INFO] [stdout]    |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/query/field_path.rs:107:20
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn parents(&self) -> Parents {
[INFO] [stdout]     |                    ^^^^^     ------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn parents(&self) -> Parents<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/query/field_path.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn children(&self) -> Children {
[INFO] [stdout]     |                     ^^^^^     -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn children(&self) -> Children<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/query/field_path.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn step_down(&self) -> StepDown {
[INFO] [stdout]     |                      ^^^^^     -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn step_down(&self) -> StepDown<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling toql_core v0.4.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/query/field_path.rs:137:20
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn step_up(&self) -> StepUp {
[INFO] [stdout]     |                    ^^^^^     ------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn step_up(&self) -> StepUp<'_> {
[INFO] [stdout]     |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/sql_builder.rs:859:29
[INFO] [stdout]     |
[INFO] [stdout] 859 |     fn canonical_alias<'c>(&'c self, query_path: &'c FieldPath) -> Result<Cow<String>> {
[INFO] [stdout]     |                             ^^                    ^^                      ----------- the lifetime gets resolved as `'c`
[INFO] [stdout]     |                             |                     |
[INFO] [stdout]     |                             |                     these lifetimes flow to the output
[INFO] [stdout]     |                             these lifetimes flow to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to consistently use `'c`
[INFO] [stdout]     |
[INFO] [stdout] 859 |     fn canonical_alias<'c>(&'c self, query_path: &'c FieldPath) -> Result<Cow<'c, String>> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/field_handler.rs:54:26
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl std::fmt::Debug for (dyn FieldHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stdout]    |                          ^                                                                  ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 - impl std::fmt::Debug for (dyn FieldHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stdout] 54 + impl std::fmt::Debug for dyn FieldHandler + std::marker::Send + std::marker::Sync + 'static {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/join_handler.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl std::fmt::Debug for (dyn JoinHandler + Send + Sync + 'static) {
[INFO] [stdout]    |                          ^                                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 - impl std::fmt::Debug for (dyn JoinHandler + Send + Sync + 'static) {
[INFO] [stdout] 51 + impl std::fmt::Debug for dyn JoinHandler + Send + Sync + 'static {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/predicate_handler.rs:19:26
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl std::fmt::Debug for (dyn PredicateHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stdout]    |                          ^                                                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 19 - impl std::fmt::Debug for (dyn PredicateHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stdout] 19 + impl std::fmt::Debug for dyn PredicateHandler + std::marker::Send + std::marker::Sync + 'static {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `debug_assertion`
[INFO] [stdout]    --> src/table_mapper.rs:351:17
[INFO] [stdout]     |
[INFO] [stdout] 351 |         if cfg!(debug_assertion) && name.len() <= 3 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ help: there is a config with a similar name: `debug_assertions`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(debug_assertion)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(debug_assertion)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `selections` is never read
[INFO] [stdout]   --> src/query/selection.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SelectionPool<'a> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 11 |     pub(crate) selections: &'a [&'a Selection],
[INFO] [stdout]    |                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SelectionPool` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `on_aux_params` is never read
[INFO] [stdout]   --> src/table_mapper/field_options.rs:13:16
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub struct FieldOptions {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub(crate) on_aux_params: Vec<String>, // Identity params for on clauses
[INFO] [stdout]    |                ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldOptions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/query/field_path.rs:23:47
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn split_basename(path_with_basename: &str) -> (FieldPath, &str) {
[INFO] [stdout]    |                                               ^^^^      ---------  ---- the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                               |         |
[INFO] [stdout]    |                                               |         the lifetimes get resolved as `'_`
[INFO] [stdout]    |                                               this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn split_basename(path_with_basename: &str) -> (FieldPath<'_>, &str) {
[INFO] [stdout]    |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/query/field_path.rs:35:46
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn trim_basename(path_with_basename: &str) -> FieldPath {
[INFO] [stdout]    |                                              ^^^^     --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                                              |
[INFO] [stdout]    |                                              this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn trim_basename(path_with_basename: &str) -> FieldPath<'_> {
[INFO] [stdout]    |                                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/query/field_path.rs:47:15
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn or(&self, b: &'a FieldPath) -> &FieldPath {
[INFO] [stdout]    |               ^^^^^                       ----------
[INFO] [stdout]    |               |                           ||
[INFO] [stdout]    |               |                           |the lifetimes get resolved as `'_`
[INFO] [stdout]    |               |                           the lifetimes get resolved as `'_`
[INFO] [stdout]    |               this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn or(&self, b: &'a FieldPath) -> &FieldPath<'_> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/query/field_path.rs:91:26
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn localize_path(&self, home_path: &str) -> Option<FieldPath> {
[INFO] [stdout]    |                          ^^^^^                             --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn localize_path(&self, home_path: &str) -> Option<FieldPath<'_>> {
[INFO] [stdout]    |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/query/field_path.rs:107:20
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn parents(&self) -> Parents {
[INFO] [stdout]     |                    ^^^^^     ------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn parents(&self) -> Parents<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/query/field_path.rs:117:21
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn children(&self) -> Children {
[INFO] [stdout]     |                     ^^^^^     -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn children(&self) -> Children<'_> {
[INFO] [stdout]     |                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/query/field_path.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn step_down(&self) -> StepDown {
[INFO] [stdout]     |                      ^^^^^     -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub fn step_down(&self) -> StepDown<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/query/field_path.rs:137:20
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn step_up(&self) -> StepUp {
[INFO] [stdout]     |                    ^^^^^     ------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn step_up(&self) -> StepUp<'_> {
[INFO] [stdout]     |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/sql_builder.rs:859:29
[INFO] [stdout]     |
[INFO] [stdout] 859 |     fn canonical_alias<'c>(&'c self, query_path: &'c FieldPath) -> Result<Cow<String>> {
[INFO] [stdout]     |                             ^^                    ^^                      ----------- the lifetime gets resolved as `'c`
[INFO] [stdout]     |                             |                     |
[INFO] [stdout]     |                             |                     these lifetimes flow to the output
[INFO] [stdout]     |                             these lifetimes flow to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to consistently use `'c`
[INFO] [stdout]     |
[INFO] [stdout] 859 |     fn canonical_alias<'c>(&'c self, query_path: &'c FieldPath) -> Result<Cow<'c, String>> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 11.64s
[INFO] running `Command { std: "docker" "inspect" "ee50076288a1a04d057dd45d9eeb0c5579076417c70d66c0b1c1e37ea1daee82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee50076288a1a04d057dd45d9eeb0c5579076417c70d66c0b1c1e37ea1daee82", kill_on_drop: false }`
[INFO] [stdout] ee50076288a1a04d057dd45d9eeb0c5579076417c70d66c0b1c1e37ea1daee82
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2e09629a0e316e4ce166dbe6b11b95f2c607603d366a5a75b1d44f2cade88741
[INFO] running `Command { std: "docker" "start" "-a" "2e09629a0e316e4ce166dbe6b11b95f2c607603d366a5a75b1d44f2cade88741", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/field_handler.rs:54:26
[INFO] [stderr]    |
[INFO] [stderr] 54 | impl std::fmt::Debug for (dyn FieldHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stderr]    |                          ^                                                                  ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 54 - impl std::fmt::Debug for (dyn FieldHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stderr] 54 + impl std::fmt::Debug for dyn FieldHandler + std::marker::Send + std::marker::Sync + 'static {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/join_handler.rs:51:26
[INFO] [stderr]    |
[INFO] [stderr] 51 | impl std::fmt::Debug for (dyn JoinHandler + Send + Sync + 'static) {
[INFO] [stderr]    |                          ^                                       ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 51 - impl std::fmt::Debug for (dyn JoinHandler + Send + Sync + 'static) {
[INFO] [stderr] 51 + impl std::fmt::Debug for dyn JoinHandler + Send + Sync + 'static {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/predicate_handler.rs:19:26
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl std::fmt::Debug for (dyn PredicateHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stderr]    |                          ^                                                                      ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 19 - impl std::fmt::Debug for (dyn PredicateHandler + std::marker::Send + std::marker::Sync + 'static) {
[INFO] [stderr] 19 + impl std::fmt::Debug for dyn PredicateHandler + std::marker::Send + std::marker::Sync + 'static {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `debug_assertion`
[INFO] [stderr]    --> src/table_mapper.rs:351:17
[INFO] [stderr]     |
[INFO] [stderr] 351 |         if cfg!(debug_assertion) && name.len() <= 3 {
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^ help: there is a config with a similar name: `debug_assertions`
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(debug_assertion)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(debug_assertion)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `selections` is never read
[INFO] [stderr]   --> src/query/selection.rs:11:16
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct SelectionPool<'a> {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] 11 |     pub(crate) selections: &'a [&'a Selection],
[INFO] [stderr]    |                ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SelectionPool` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `on_aux_params` is never read
[INFO] [stderr]   --> src/table_mapper/field_options.rs:13:16
[INFO] [stderr]    |
[INFO] [stderr] 6  | pub struct FieldOptions {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 13 |     pub(crate) on_aux_params: Vec<String>, // Identity params for on clauses
[INFO] [stderr]    |                ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FieldOptions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/query/field_path.rs:23:47
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn split_basename(path_with_basename: &str) -> (FieldPath, &str) {
[INFO] [stderr]    |                                               ^^^^      ---------  ---- the lifetimes get resolved as `'_`
[INFO] [stderr]    |                                               |         |
[INFO] [stderr]    |                                               |         the lifetimes get resolved as `'_`
[INFO] [stderr]    |                                               this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn split_basename(path_with_basename: &str) -> (FieldPath<'_>, &str) {
[INFO] [stderr]    |                                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/query/field_path.rs:35:46
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub fn trim_basename(path_with_basename: &str) -> FieldPath {
[INFO] [stderr]    |                                              ^^^^     --------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |                                              |
[INFO] [stderr]    |                                              this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub fn trim_basename(path_with_basename: &str) -> FieldPath<'_> {
[INFO] [stderr]    |                                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/query/field_path.rs:47:15
[INFO] [stderr]    |
[INFO] [stderr] 47 |     pub fn or(&self, b: &'a FieldPath) -> &FieldPath {
[INFO] [stderr]    |               ^^^^^                       ----------
[INFO] [stderr]    |               |                           ||
[INFO] [stderr]    |               |                           |the lifetimes get resolved as `'_`
[INFO] [stderr]    |               |                           the lifetimes get resolved as `'_`
[INFO] [stderr]    |               this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 47 |     pub fn or(&self, b: &'a FieldPath) -> &FieldPath<'_> {
[INFO] [stderr]    |                                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/query/field_path.rs:91:26
[INFO] [stderr]    |
[INFO] [stderr] 91 |     pub fn localize_path(&self, home_path: &str) -> Option<FieldPath> {
[INFO] [stderr]    |                          ^^^^^                             --------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 91 |     pub fn localize_path(&self, home_path: &str) -> Option<FieldPath<'_>> {
[INFO] [stderr]    |                                                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/query/field_path.rs:107:20
[INFO] [stderr]     |
[INFO] [stderr] 107 |     pub fn parents(&self) -> Parents {
[INFO] [stderr]     |                    ^^^^^     ------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                    |
[INFO] [stderr]     |                    this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 107 |     pub fn parents(&self) -> Parents<'_> {
[INFO] [stderr]     |                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/query/field_path.rs:117:21
[INFO] [stderr]     |
[INFO] [stderr] 117 |     pub fn children(&self) -> Children {
[INFO] [stderr]     |                     ^^^^^     -------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 117 |     pub fn children(&self) -> Children<'_> {
[INFO] [stderr]     |                                       ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/query/field_path.rs:127:22
[INFO] [stderr]     |
[INFO] [stderr] 127 |     pub fn step_down(&self) -> StepDown {
[INFO] [stderr]     |                      ^^^^^     -------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 127 |     pub fn step_down(&self) -> StepDown<'_> {
[INFO] [stderr]     |                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/query/field_path.rs:137:20
[INFO] [stderr]     |
[INFO] [stderr] 137 |     pub fn step_up(&self) -> StepUp {
[INFO] [stderr]     |                    ^^^^^     ------ the lifetime gets resolved as `'_`
[INFO] [stderr]     |                    |
[INFO] [stderr]     |                    this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 137 |     pub fn step_up(&self) -> StepUp<'_> {
[INFO] [stderr]     |                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/sql_builder.rs:859:29
[INFO] [stderr]     |
[INFO] [stderr] 859 |     fn canonical_alias<'c>(&'c self, query_path: &'c FieldPath) -> Result<Cow<String>> {
[INFO] [stderr]     |                             ^^                    ^^                      ----------- the lifetime gets resolved as `'c`
[INFO] [stderr]     |                             |                     |
[INFO] [stderr]     |                             |                     these lifetimes flow to the output
[INFO] [stderr]     |                             these lifetimes flow to the output
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to consistently use `'c`
[INFO] [stderr]     |
[INFO] [stderr] 859 |     fn canonical_alias<'c>(&'c self, query_path: &'c FieldPath) -> Result<Cow<'c, String>> {
[INFO] [stderr]     |                                                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: `toql_core` (lib) generated 15 warnings (run `cargo fix --lib -p toql_core` to apply 3 suggestions)
[INFO] [stderr] warning: `toql_core` (lib test) generated 15 warnings (15 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/toql_core-3c7e4a4dc31880ee)
[INFO] [stdout] 
[INFO] [stdout] running 52 tests
[INFO] [stdout] test alias_format::test::format_medium ... ok
[INFO] [stdout] test alias_format::test::format_short ... ok
[INFO] [stdout] test alias_translator::test::translate_short ... ok
[INFO] [stdout] test alias_translator::test::translate_tiny ... ok
[INFO] [stdout] test from_iterator::test::from_query ... ok
[INFO] [stdout] test alias_translator::test::translate_medium ... ok
[INFO] [stdout] test alias_translator::test::translate_canonical ... ok
[INFO] [stdout] test join::test::build ... ok
[INFO] [stdout] test query::field::test::invalid_name - should panic ... FAILED
[INFO] [stdout] test page::test::build ... ok
[INFO] [stdout] test query::field_path::test::build ... ok
[INFO] [stdout] test query::field_path::test::children ... ok
[INFO] [stdout] test query::field_path::test::parents ... ok
[INFO] [stdout] test query::field_path::test::step_down ... ok
[INFO] [stdout] test query::field_path::test::step_up ... ok
[INFO] [stdout] test query::predicate::test::build ... ok
[INFO] [stdout] test query::query_token::test::to_string ... ok
[INFO] [stdout] test query::selection::test::build ... ok
[INFO] [stdout] test query::wildcard::test::build ... ok
[INFO] [stdout] test query::wildcard::test::invalid_name - should panic ... FAILED
[INFO] [stdout] test from_iterator::test::from_key ... ok
[INFO] [stdout] test query_parser::test::parse_filters ... ok
[INFO] [stdout] test query_parser::test::parse_selection ... ok
[INFO] [stdout] test query_parser::test::parse_wildcard_and_field ... ok
[INFO] [stdout] test role_expr::test::build ... ok
[INFO] [stdout] test query_parser::test::parse_parens ... ok
[INFO] [stdout] test role_validator::test::validate_expressions ... ok
[INFO] [stdout] test query_parser::test::parse_predicate ... ok
[INFO] [stdout] test sql::test::build ... ok
[INFO] [stdout] test sql::test::to_unsafe_string ... ok
[INFO] [stdout] test sql_arg::test::convert_bool ... ok
[INFO] [stdout] test query::field_filter::test::to_string ... ok
[INFO] [stdout] test sql_arg::test::convert_null ... ok
[INFO] [stdout] test sql_arg::test::convert_str ... ok
[INFO] [stdout] test sql_arg::test::convert_u64 ... ok
[INFO] [stdout] test sql_arg::test::valid_keys ... ok
[INFO] [stdout] test sql_expr::resolver::test::alias_to_literals ... ok
[INFO] [stdout] test sql_builder::select_stream::test::default ... ok
[INFO] [stdout] test sql_expr::resolver::test::create ... ok
[INFO] [stdout] test query_parser::test::parse_order_and_hidden ... ok
[INFO] [stdout] test query::field::test::into_name ... ok
[INFO] [stdout] test sql_expr::resolver::test::replace_aux_params ... ok
[INFO] [stdout] test sql_arg::test::convert_f64 ... ok
[INFO] [stdout] test sql_arg::test::convert_i64 ... ok
[INFO] [stdout] test toql_api::paths::test::paths_top ... ok
[INFO] [stdout] test query::field::test::build ... ok
[INFO] [stdout] test sql_expr::test::create ... ok
[INFO] [stdout] test toql_api::fields::test::fields_top ... ok
[INFO] [stdout] test toql_api::fields::test::fields_from ... ok
[INFO] [stdout] test toql_api::paths::test::paths_from ... ok
[INFO] [stdout] test query::test::build ... ok
[INFO] [stdout] test alias_format::test::format_tiny ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- query::field::test::invalid_name stdout ----
[INFO] [stdout] note: test did not panic as expected at src/query/field.rs:252:8
[INFO] [stdout] ---- query::wildcard::test::invalid_name stdout ----
[INFO] [stdout] note: test did not panic as expected at src/query/wildcard.rs:94:8
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     query::field::test::invalid_name
[INFO] [stdout]     query::wildcard::test::invalid_name
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 50 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "2e09629a0e316e4ce166dbe6b11b95f2c607603d366a5a75b1d44f2cade88741", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e09629a0e316e4ce166dbe6b11b95f2c607603d366a5a75b1d44f2cade88741", kill_on_drop: false }`
[INFO] [stdout] 2e09629a0e316e4ce166dbe6b11b95f2c607603d366a5a75b1d44f2cade88741
