[INFO] fetching crate velocity_template 0.0.2... [INFO] testing velocity_template-0.0.2 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate velocity_template 0.0.2 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate velocity_template 0.0.2 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate velocity_template 0.0.2 [INFO] tweaked toml for crates.io crate velocity_template 0.0.2 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate velocity_template 0.0.2 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 81 packages to latest compatible versions [INFO] [stderr] Adding md5 v0.7.0 (available: v0.8.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded evalexpr v12.0.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 00d41e9b169f7e83e18d6fc53dd8956bcd8b91a3cde7ab0bd62eacc7f97d78d7 [INFO] running `Command { std: "docker" "start" "-a" "00d41e9b169f7e83e18d6fc53dd8956bcd8b91a3cde7ab0bd62eacc7f97d78d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "00d41e9b169f7e83e18d6fc53dd8956bcd8b91a3cde7ab0bd62eacc7f97d78d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "00d41e9b169f7e83e18d6fc53dd8956bcd8b91a3cde7ab0bd62eacc7f97d78d7", kill_on_drop: false }` [INFO] [stdout] 00d41e9b169f7e83e18d6fc53dd8956bcd8b91a3cde7ab0bd62eacc7f97d78d7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 121ad58467cf9791cac8af27c9c8a6ded55308bb5c77bfe6ecb0a5f878cc5ffd [INFO] running `Command { std: "docker" "start" "-a" "121ad58467cf9791cac8af27c9c8a6ded55308bb5c77bfe6ecb0a5f878cc5ffd", kill_on_drop: false }` [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling anstyle-query v1.1.4 [INFO] [stderr] Compiling jiff v0.2.15 [INFO] [stderr] Compiling evalexpr v12.0.2 [INFO] [stderr] Compiling md5 v0.7.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.6 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling anstream v0.6.20 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling env_filter v0.1.3 [INFO] [stderr] Compiling env_logger v0.11.8 [INFO] [stderr] Compiling velocity_template v0.0.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::expression::expr_eval` [INFO] [stdout] --> src/expression/expression.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::expression::expr_eval; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::log` [INFO] [stdout] --> src/token/token_parse.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use log::log; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Number` [INFO] [stdout] --> src/token/token_parse.rs:7:18 [INFO] [stdout] | [INFO] [stdout] 7 | use serde_json::{Number, Value}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value::String as JsonString` [INFO] [stdout] --> src/token/token_parse.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use serde_json::Value::String as JsonString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/parse/foreach_parse.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserializer` [INFO] [stdout] --> src/parse/foreach_parse.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde::Deserializer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/expression/expr_eval.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | Err(e) => Err("Result is not a boolean".to_string()), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first_end` [INFO] [stdout] --> src/token/token_parse.rs:347:13 [INFO] [stdout] | [INFO] [stdout] 347 | let first_end = position.first_end; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_start` [INFO] [stdout] --> src/token/token_parse.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | let last_start = position.last_start; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first_name` [INFO] [stdout] --> src/token/token_parse.rs:350:13 [INFO] [stdout] | [INFO] [stdout] 350 | let first_name = &position.first_name; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_name` [INFO] [stdout] --> src/token/token_parse.rs:351:13 [INFO] [stdout] | [INFO] [stdout] 351 | let last_name = &position.last_name; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/token/token_parse.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | let mut captures: Vec<(usize, &str)> = TAGS_PATTERN.find_iter(&template) [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/token/token_parse.rs:316:17 [INFO] [stdout] | [INFO] [stdout] 316 | let mut last_start = first_start+find_char_index(last_text,"\r\n").unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expression_start` is never read [INFO] [stdout] --> src/token/token_parse.rs:445:21 [INFO] [stdout] | [INFO] [stdout] 445 | let mut expression_start = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expression_end` is never read [INFO] [stdout] --> src/token/token_parse.rs:446:21 [INFO] [stdout] | [INFO] [stdout] 446 | let mut expression_end = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_name` [INFO] [stdout] --> src/token/token_parse.rs:501:9 [INFO] [stdout] | [INFO] [stdout] 501 | let last_name = &position.last_name; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_end` [INFO] [stdout] --> src/token/token_parse.rs:505:9 [INFO] [stdout] | [INFO] [stdout] 505 | let last_end = position.last_end; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expression_start` is never read [INFO] [stdout] --> src/token/token_parse.rs:533:17 [INFO] [stdout] | [INFO] [stdout] 533 | let mut expression_start = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expression_end` is never read [INFO] [stdout] --> src/token/token_parse.rs:534:17 [INFO] [stdout] | [INFO] [stdout] 534 | let mut expression_end = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/parse/set_parse.rs:65:23 [INFO] [stdout] | [INFO] [stdout] 65 | } else if let Ok(string) = v.parse::(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse/set_parse.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | let mut v = variable_parse::normalize_variable_syntax(value.as_str(),context); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/parse/if_parse.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | if let IfBranch::If{condition,children,..} = branch { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `first` is never read [INFO] [stdout] --> src/parse/foreach_parse.rs:113:25 [INFO] [stdout] | [INFO] [stdout] 113 | let mut first = true; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | let mut context_result = object_to_hashmap(obj); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `expression::expression::Token` is more private than the item `expression::expression::parse_position` [INFO] [stdout] --> src/expression/expression.rs:51:1 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn parse_position(input:&str) ->Result,String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `expression::expression::parse_position` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `expression::expression::Token` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/expression/expression.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | enum Token { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `expression::expression::Token` is more private than the item `eval_tokens` [INFO] [stdout] --> src/expression/expression.rs:137:1 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn eval_tokens(tokens:Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `eval_tokens` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `expression::expression::Token` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/expression/expression.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | enum Token { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.46s [INFO] running `Command { std: "docker" "inspect" "121ad58467cf9791cac8af27c9c8a6ded55308bb5c77bfe6ecb0a5f878cc5ffd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "121ad58467cf9791cac8af27c9c8a6ded55308bb5c77bfe6ecb0a5f878cc5ffd", kill_on_drop: false }` [INFO] [stdout] 121ad58467cf9791cac8af27c9c8a6ded55308bb5c77bfe6ecb0a5f878cc5ffd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 776a66eca0ea13a4f9f07f297d35243542c9835e8b2b32f8f3abe112f5e6d663 [INFO] running `Command { std: "docker" "start" "-a" "776a66eca0ea13a4f9f07f297d35243542c9835e8b2b32f8f3abe112f5e6d663", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::expression::expr_eval` [INFO] [stdout] --> src/expression/expression.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::expression::expr_eval; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::log` [INFO] [stdout] --> src/token/token_parse.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use log::log; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Number` [INFO] [stdout] --> src/token/token_parse.rs:7:18 [INFO] [stdout] | [INFO] [stdout] 7 | use serde_json::{Number, Value}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value::String as JsonString` [INFO] [stdout] --> src/token/token_parse.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use serde_json::Value::String as JsonString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/parse/foreach_parse.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserializer` [INFO] [stdout] --> src/parse/foreach_parse.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde::Deserializer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/expression/expr_eval.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | Err(e) => Err("Result is not a boolean".to_string()), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first_end` [INFO] [stdout] --> src/token/token_parse.rs:347:13 [INFO] [stdout] | [INFO] [stdout] 347 | let first_end = position.first_end; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_start` [INFO] [stdout] --> src/token/token_parse.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | let last_start = position.last_start; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first_name` [INFO] [stdout] --> src/token/token_parse.rs:350:13 [INFO] [stdout] | [INFO] [stdout] 350 | let first_name = &position.first_name; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_name` [INFO] [stdout] --> src/token/token_parse.rs:351:13 [INFO] [stdout] | [INFO] [stdout] 351 | let last_name = &position.last_name; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/token/token_parse.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | let mut captures: Vec<(usize, &str)> = TAGS_PATTERN.find_iter(&template) [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/token/token_parse.rs:316:17 [INFO] [stdout] | [INFO] [stdout] 316 | let mut last_start = first_start+find_char_index(last_text,"\r\n").unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expression_start` is never read [INFO] [stdout] --> src/token/token_parse.rs:445:21 [INFO] [stdout] | [INFO] [stdout] 445 | let mut expression_start = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expression_end` is never read [INFO] [stdout] --> src/token/token_parse.rs:446:21 [INFO] [stdout] | [INFO] [stdout] 446 | let mut expression_end = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_name` [INFO] [stdout] --> src/token/token_parse.rs:501:9 [INFO] [stdout] | [INFO] [stdout] 501 | let last_name = &position.last_name; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_end` [INFO] [stdout] --> src/token/token_parse.rs:505:9 [INFO] [stdout] | [INFO] [stdout] 505 | let last_end = position.last_end; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expression_start` is never read [INFO] [stdout] --> src/token/token_parse.rs:533:17 [INFO] [stdout] | [INFO] [stdout] 533 | let mut expression_start = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expression_end` is never read [INFO] [stdout] --> src/token/token_parse.rs:534:17 [INFO] [stdout] | [INFO] [stdout] 534 | let mut expression_end = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/parse/set_parse.rs:65:23 [INFO] [stdout] | [INFO] [stdout] 65 | } else if let Ok(string) = v.parse::(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse/set_parse.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | let mut v = variable_parse::normalize_variable_syntax(value.as_str(),context); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling velocity_template v0.0.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/parse/if_parse.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | if let IfBranch::If{condition,children,..} = branch { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `first` is never read [INFO] [stdout] --> src/parse/foreach_parse.rs:113:25 [INFO] [stdout] | [INFO] [stdout] 113 | let mut first = true; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | let mut context_result = object_to_hashmap(obj); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `expression::expression::Token` is more private than the item `expression::expression::parse_position` [INFO] [stdout] --> src/expression/expression.rs:51:1 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn parse_position(input:&str) ->Result,String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `expression::expression::parse_position` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `expression::expression::Token` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/expression/expression.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | enum Token { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `expression::expression::Token` is more private than the item `eval_tokens` [INFO] [stdout] --> src/expression/expression.rs:137:1 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn eval_tokens(tokens:Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `eval_tokens` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `expression::expression::Token` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/expression/expression.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | enum Token { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> tests/test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::log_config` [INFO] [stdout] --> tests/parse_token_test.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::log_config; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ no `log_config` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `velocity_template::token::token_parse::Tokenizer` [INFO] [stdout] --> tests/parse_token_test.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use velocity_template::token::token_parse::Tokenizer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `velocity_template::token::token_parse::Tokenizer` [INFO] [stdout] --> tests/parse_token_test.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use velocity_template::token::token_parse::Tokenizer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> tests/test.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `render_from_object` [INFO] [stdout] --> tests/set/set_test.rs:1:52 [INFO] [stdout] | [INFO] [stdout] 1 | use velocity_template::{read_file, render_default, render_from_object}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::expression::expr_eval` [INFO] [stdout] --> src/expression/expression.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::expression::expr_eval; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::log` [INFO] [stdout] --> src/token/token_parse.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use log::log; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Number` [INFO] [stdout] --> src/token/token_parse.rs:7:18 [INFO] [stdout] | [INFO] [stdout] 7 | use serde_json::{Number, Value}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::Value::String as JsonString` [INFO] [stdout] --> src/token/token_parse.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use serde_json::Value::String as JsonString; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/parse/foreach_parse.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Deserializer` [INFO] [stdout] --> src/parse/foreach_parse.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use serde::Deserializer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stderr] error: could not compile `velocity_template` (test "parse_token_test") due to 1 previous error; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> tests/parse_token_test.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | for i in 0..2000{ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> tests/parse_token_test.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | for x in 0..1000 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user` [INFO] [stdout] --> tests/foreach/foreach_test.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let user = User{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_user` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> tests/foreach/foreach_test.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | for x in 0..2 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> tests/foreach/foreach_test.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | for i in 0..1000{ [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/expression/expr_eval.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | Err(e) => Err("Result is not a boolean".to_string()), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> tests/set/set_test.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | for x in 0..1 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `remove_velocity_comments` is never used [INFO] [stdout] --> tests/comment/comment_test.rs:98:4 [INFO] [stdout] | [INFO] [stdout] 98 | fn remove_velocity_comments(template: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first_end` [INFO] [stdout] --> src/token/token_parse.rs:347:13 [INFO] [stdout] | [INFO] [stdout] 347 | let first_end = position.first_end; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_start` [INFO] [stdout] --> src/token/token_parse.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | let last_start = position.last_start; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first_name` [INFO] [stdout] --> src/token/token_parse.rs:350:13 [INFO] [stdout] | [INFO] [stdout] 350 | let first_name = &position.first_name; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_name` [INFO] [stdout] --> src/token/token_parse.rs:351:13 [INFO] [stdout] | [INFO] [stdout] 351 | let last_name = &position.last_name; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/token/token_parse.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | let mut captures: Vec<(usize, &str)> = TAGS_PATTERN.find_iter(&template) [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/token/token_parse.rs:316:17 [INFO] [stdout] | [INFO] [stdout] 316 | let mut last_start = first_start+find_char_index(last_text,"\r\n").unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expression_start` is never read [INFO] [stdout] --> src/token/token_parse.rs:445:21 [INFO] [stdout] | [INFO] [stdout] 445 | let mut expression_start = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expression_end` is never read [INFO] [stdout] --> src/token/token_parse.rs:446:21 [INFO] [stdout] | [INFO] [stdout] 446 | let mut expression_end = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_name` [INFO] [stdout] --> src/token/token_parse.rs:501:9 [INFO] [stdout] | [INFO] [stdout] 501 | let last_name = &position.last_name; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_end` [INFO] [stdout] --> src/token/token_parse.rs:505:9 [INFO] [stdout] | [INFO] [stdout] 505 | let last_end = position.last_end; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expression_start` is never read [INFO] [stdout] --> src/token/token_parse.rs:533:17 [INFO] [stdout] | [INFO] [stdout] 533 | let mut expression_start = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `expression_end` is never read [INFO] [stdout] --> src/token/token_parse.rs:534:17 [INFO] [stdout] | [INFO] [stdout] 534 | let mut expression_end = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/parse/set_parse.rs:65:23 [INFO] [stdout] | [INFO] [stdout] 65 | } else if let Ok(string) = v.parse::(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parse/set_parse.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | let mut v = variable_parse::normalize_variable_syntax(value.as_str(),context); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/parse/if_parse.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 15 | if let IfBranch::If{condition,children,..} = branch { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `first` is never read [INFO] [stdout] --> src/parse/foreach_parse.rs:113:25 [INFO] [stdout] | [INFO] [stdout] 113 | let mut first = true; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | let mut context_result = object_to_hashmap(obj); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `expression::expression::Token` is more private than the item `expression::expression::parse_position` [INFO] [stdout] --> src/expression/expression.rs:51:1 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn parse_position(input:&str) ->Result,String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `expression::expression::parse_position` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `expression::expression::Token` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/expression/expression.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | enum Token { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `expression::expression::Token` is more private than the item `expression::expression::eval_tokens` [INFO] [stdout] --> src/expression/expression.rs:137:1 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn eval_tokens(tokens:Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `expression::expression::eval_tokens` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `expression::expression::Token` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/expression/expression.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | enum Token { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "776a66eca0ea13a4f9f07f297d35243542c9835e8b2b32f8f3abe112f5e6d663", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "776a66eca0ea13a4f9f07f297d35243542c9835e8b2b32f8f3abe112f5e6d663", kill_on_drop: false }` [INFO] [stdout] 776a66eca0ea13a4f9f07f297d35243542c9835e8b2b32f8f3abe112f5e6d663