[INFO] cloning repository https://github.com/nizamawscloud/aws-cloudformation-cloudformation-guard [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nizamawscloud/aws-cloudformation-cloudformation-guard" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnizamawscloud%2Faws-cloudformation-cloudformation-guard", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnizamawscloud%2Faws-cloudformation-cloudformation-guard'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ca562b92717448a68b720b3d7cb07f58d44de4d9 [INFO] checking nizamawscloud/aws-cloudformation-cloudformation-guard against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnizamawscloud%2Faws-cloudformation-cloudformation-guard" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/nizamawscloud/aws-cloudformation-cloudformation-guard on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/nizamawscloud/aws-cloudformation-cloudformation-guard [INFO] finished tweaking git repo https://github.com/nizamawscloud/aws-cloudformation-cloudformation-guard [INFO] tweaked toml for git repo https://github.com/nizamawscloud/aws-cloudformation-cloudformation-guard written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/nizamawscloud/aws-cloudformation-cloudformation-guard already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded enumflags2_derive v0.7.0 [INFO] [stderr] Downloaded string-builder v0.2.0 [INFO] [stderr] Downloaded lambda_runtime v0.3.0 [INFO] [stderr] Downloaded enumflags2 v0.7.1 [INFO] [stderr] Downloaded nom_locate v2.1.0 [INFO] [stderr] Downloaded hyper v0.14.8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bbfde0e5ff5cf674d46498077846f16f05576eb404afedb32913ff759d60e4d4 [INFO] running `Command { std: "docker" "start" "-a" "bbfde0e5ff5cf674d46498077846f16f05576eb404afedb32913ff759d60e4d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bbfde0e5ff5cf674d46498077846f16f05576eb404afedb32913ff759d60e4d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bbfde0e5ff5cf674d46498077846f16f05576eb404afedb32913ff759d60e4d4", kill_on_drop: false }` [INFO] [stdout] bbfde0e5ff5cf674d46498077846f16f05576eb404afedb32913ff759d60e4d4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 57db9cdf050af917218a487f20a4997f369b340a948b2063313cf06aa1d00003 [INFO] running `Command { std: "docker" "start" "-a" "57db9cdf050af917218a487f20a4997f369b340a948b2063313cf06aa1d00003", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.26 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.72 [INFO] [stderr] Compiling libc v0.2.94 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling serde_derive v1.0.126 [INFO] [stderr] Compiling serde v1.0.126 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling futures-core v0.3.15 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Checking pin-project-lite v0.2.6 [INFO] [stderr] Checking itoa v0.4.7 [INFO] [stderr] Compiling indexmap v1.6.2 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Compiling lexical-core v0.7.6 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling serde_json v1.0.64 [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Compiling nom v5.1.2 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking hashbrown v0.9.1 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Compiling futures-macro v0.3.15 [INFO] [stderr] Compiling futures-task v0.3.15 [INFO] [stderr] Compiling proc-macro-nested v0.1.7 [INFO] [stderr] Checking linked-hash-map v0.5.4 [INFO] [stderr] Compiling futures-channel v0.3.15 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking yaml-rust v0.4.5 [INFO] [stderr] Checking colored v1.9.3 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Compiling futures-util v0.3.15 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Checking bytes v1.0.1 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking dtoa v0.4.8 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking futures-sink v0.3.15 [INFO] [stderr] Checking unicode-segmentation v1.7.1 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking bytecount v0.6.2 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking walkdir v2.3.2 [INFO] [stderr] Checking simple_logger v1.11.0 [INFO] [stderr] Checking heck v0.3.2 [INFO] [stderr] Checking colored v2.0.0 [INFO] [stderr] Compiling tokio v1.6.1 [INFO] [stderr] Checking tracing-core v0.1.18 [INFO] [stderr] Checking slab v0.4.3 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking futures-io v0.3.15 [INFO] [stderr] Checking itertools v0.4.19 [INFO] [stderr] Checking string-builder v0.2.0 [INFO] [stderr] Checking mio v0.7.11 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking once_cell v1.7.2 [INFO] [stderr] Compiling httparse v1.4.1 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking http v0.2.4 [INFO] [stderr] Checking thread_local v1.1.3 [INFO] [stderr] Checking sharded-slab v0.1.1 [INFO] [stderr] Checking try-lock v0.2.3 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking socket2 v0.4.0 [INFO] [stderr] Checking httpdate v1.0.1 [INFO] [stderr] Checking regex v1.5.4 [INFO] [stderr] Checking tower-service v0.3.1 [INFO] [stderr] Checking tracing-subscriber v0.2.18 [INFO] [stderr] Checking nom_locate v2.1.0 [INFO] [stderr] Checking http-body v0.4.2 [INFO] [stderr] Compiling enumflags2_derive v0.7.0 [INFO] [stderr] Compiling tokio-macros v1.2.0 [INFO] [stderr] Compiling tracing-attributes v0.1.15 [INFO] [stderr] Compiling pin-project-internal v1.0.7 [INFO] [stderr] Compiling async-stream-impl v0.3.2 [INFO] [stderr] Checking async-stream v0.3.2 [INFO] [stderr] Checking enumflags2 v0.7.1 [INFO] [stderr] Checking pin-project v1.0.7 [INFO] [stderr] Checking tracing v0.1.26 [INFO] [stderr] Checking tracing-error v0.1.2 [INFO] [stderr] Checking futures-executor v0.3.15 [INFO] [stderr] Checking futures v0.3.15 [INFO] [stderr] Checking hyper v0.14.8 [INFO] [stderr] Checking tokio-stream v0.1.6 [INFO] [stderr] Checking serde_yaml v0.8.17 [INFO] [stderr] Checking cfn-guard v2.0.3 (/opt/rustwide/workdir/guard) [INFO] [stderr] Checking lambda_runtime v0.3.0 [INFO] [stdout] warning: unused import: `WhenConditions` [INFO] [stdout] --> guard/src/rules/evaluate.rs:9:114 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::rules::exprs::{GuardClause, GuardNamedRuleClause, QueryPart, RuleClause, TypeBlock, BlockGuardClause, WhenConditions, WhenGuar... [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> guard/src/rules/evaluate.rs:684:12 [INFO] [stdout] | [INFO] [stdout] 684 | Ok('outer: loop { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Write` [INFO] [stdout] --> guard/src/rules/path_value.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fmt::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ALPHABETICAL` and `LAST_MODIFIED` [INFO] [stdout] --> guard/src/commands/validate.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::commands::{ALPHABETICAL, LAST_MODIFIED}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regular_ordering` [INFO] [stdout] --> guard/src/commands/validate.rs:12:83 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::commands::files::{alpabetical, get_files, iterate_over, last_modified, regular_ordering}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::*` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Serialize` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::Serialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `path_value` [INFO] [stdout] --> guard/src/commands/validate/common.rs:5:36 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::rules::{EvaluationType, path_value, Status}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::rules::path_value::Path` [INFO] [stdout] --> guard/src/commands/validate/common.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::rules::path_value::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::*` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorKind` and `Error` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::rules::errors::{Error, ErrorKind}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::Ref` [INFO] [stdout] --> guard/src/commands/tracker.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cell::Ref; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `QueryPart` [INFO] [stdout] --> guard/src/commands/aws_meta_appender.rs:3:27 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::rules::exprs::{QueryPart, AccessQuery}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> guard/src/migrate/parser.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WhenConditions` [INFO] [stdout] --> guard/src/rules/evaluate.rs:9:114 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::rules::exprs::{GuardClause, GuardNamedRuleClause, QueryPart, RuleClause, TypeBlock, BlockGuardClause, WhenConditions, WhenGuar... [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> guard/src/rules/evaluate.rs:684:12 [INFO] [stdout] | [INFO] [stdout] 684 | Ok('outer: loop { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2087:23 [INFO] [stdout] | [INFO] [stdout] 2087 | struct Reporter {}; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2152:60 [INFO] [stdout] | [INFO] [stdout] 2152 | struct Reporter<'a> { root: &'a dyn EvaluationContext }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> guard/src/rules/values_tests.rs:124:6 [INFO] [stdout] | [INFO] [stdout] 124 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> guard/src/rules/values_tests.rs:217:27 [INFO] [stdout] | [INFO] [stdout] 217 | struct DummyResolver{}; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Write` [INFO] [stdout] --> guard/src/rules/path_value.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fmt::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ALPHABETICAL` and `LAST_MODIFIED` [INFO] [stdout] --> guard/src/commands/validate.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::commands::{ALPHABETICAL, LAST_MODIFIED}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regular_ordering` [INFO] [stdout] --> guard/src/commands/validate.rs:12:83 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::commands::files::{alpabetical, get_files, iterate_over, last_modified, regular_ordering}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::*` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Serialize` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::Serialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `path_value` [INFO] [stdout] --> guard/src/commands/validate/common.rs:5:36 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::rules::{EvaluationType, path_value, Status}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::rules::path_value::Path` [INFO] [stdout] --> guard/src/commands/validate/common.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::rules::path_value::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::*` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorKind` and `Error` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::rules::errors::{Error, ErrorKind}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::Ref` [INFO] [stdout] --> guard/src/commands/tracker.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cell::Ref; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `QueryPart` [INFO] [stdout] --> guard/src/commands/aws_meta_appender.rs:3:27 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::rules::exprs::{QueryPart, AccessQuery}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::super::common_test_helpers::DummyEval` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::super::common_test_helpers::DummyEval; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:40:22 [INFO] [stdout] | [INFO] [stdout] 40 | struct Capture {}; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> guard/src/migrate/parser.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::rules::values::Value::Bool` [INFO] [stdout] --> guard/src/migrate/parser_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::rules::values::Value::Bool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> guard/src/commands/validate.rs:45:28 [INFO] [stdout] | [INFO] [stdout] 45 | writer: &mut Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 | writer: &mut dyn Write, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> guard/src/commands/validate.rs:45:28 [INFO] [stdout] | [INFO] [stdout] 45 | writer: &mut Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 | writer: &mut dyn Write, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> guard/src/rules/evaluate.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BitFlag` [INFO] [stdout] --> guard/src/commands/validate.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 21 | use enumflags2::{BitFlag, BitFlags}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BitFlag` [INFO] [stdout] --> guard/src/commands/validate.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 21 | use enumflags2::{BitFlag, BitFlags}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable` [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2089:36 [INFO] [stdout] | [INFO] [stdout] 2089 | fn resolve_variable(&self, variable: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rule_name` [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2093:31 [INFO] [stdout] | [INFO] [stdout] 2093 | fn rule_status(&self, rule_name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rule_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2097:61 [INFO] [stdout] | [INFO] [stdout] 2097 | ... eval_type: EvaluationType, context: &str, msg: String, from: Option, to: Option, status: Option guard/src/rules/evaluate_tests.rs:2117:36 [INFO] [stdout] | [INFO] [stdout] 2117 | fn start_evaluation(&self, eval_type: EvaluationType, context: &str) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eval_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2117:63 [INFO] [stdout] | [INFO] [stdout] 2117 | fn start_evaluation(&self, eval_type: EvaluationType, context: &str) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `longest_rule_len` [INFO] [stdout] --> guard/src/commands/validate/common.rs:86:41 [INFO] [stdout] | [INFO] [stdout] 86 | skipped: HashSet, longest_rule_len: usize) -> crate::rules::Result<()> [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_longest_rule_len` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `longest_rule_len` [INFO] [stdout] --> guard/src/commands/validate/common.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | longest_rule_len: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_longest_rule_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rules` is never read [INFO] [stdout] --> guard/src/rules/evaluate.rs:936:5 [INFO] [stdout] | [INFO] [stdout] 935 | pub(crate) struct RootScope<'s, 'loc> { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 936 | rules: &'s RulesFile<'loc>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RootScope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `block_type` is never read [INFO] [stdout] --> guard/src/rules/evaluate.rs:1034:5 [INFO] [stdout] | [INFO] [stdout] 1033 | pub(crate) struct BlockScope<'s, T> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 1034 | block_type: &'s Block<'s, T>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `comparison` is never used [INFO] [stdout] --> guard/src/rules/evaluate.rs:1151:19 [INFO] [stdout] | [INFO] [stdout] 1129 | impl<'s> AutoReport<'s> { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1151 | pub(super) fn comparison(&mut self, status: Status, from: Option, to: Option, cmp: (CmpOperator, bool... [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `context`, `span`, and `kind` are never used [INFO] [stdout] --> guard/src/rules/parser.rs:46:19 [INFO] [stdout] | [INFO] [stdout] 45 | impl<'a> ParserError<'a> { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 46 | pub(crate) fn context(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub(crate) fn span(&self) -> &Span<'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub(crate) fn kind(&self) -> nom::error::ErrorKind { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> guard/src/rules/parser.rs:1532:43 [INFO] [stdout] | [INFO] [stdout] 1532 | pub(crate) struct ConjunctionsWrapper<'a>(pub(crate) Conjunctions>); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_unary` and `is_binary` are never used [INFO] [stdout] --> guard/src/rules/values.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 30 | impl CmpOperator { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 31 | pub(crate) fn is_unary(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub(crate) fn is_binary(&self) -> bool { !self.is_unary() } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_linked_hashmap` is never used [INFO] [stdout] --> guard/src/rules/values.rs:309:15 [INFO] [stdout] | [INFO] [stdout] 309 | pub(super) fn make_linked_hashmap<'a, I>(values: I) -> IndexMap [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `drop_last` and `extend_with_value` are never used [INFO] [stdout] --> guard/src/rules/path_value.rs:92:19 [INFO] [stdout] | [INFO] [stdout] 75 | impl Path { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 92 | pub(crate) fn drop_last(&mut self) -> &mut Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub(crate) fn extend_with_value(&self, part: &Value) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_scalar` is never used [INFO] [stdout] --> guard/src/rules/path_value.rs:675:19 [INFO] [stdout] | [INFO] [stdout] 634 | impl PathAwareValue { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 675 | pub(crate) fn is_scalar(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ALPHABETICAL` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) const ALPHABETICAL: (&str, &str) = ("alphabetical", "a"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LAST_MODIFIED` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) const LAST_MODIFIED: (&str, &str) = ("last-modified", "l"); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RULES` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub(crate) const RULES: (&str, &str) = ("rules", "r"); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 19 | pub(crate) const DATA: (&str, &str) = ("data", "d"); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_file_content` is never used [INFO] [stdout] --> guard/src/commands/files.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) fn read_file_content(file: File) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_files` is never used [INFO] [stdout] --> guard/src/commands/files.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) fn get_files(file: &str, sort: F) -> Result, Error> [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_files_with_filter` is never used [INFO] [stdout] --> guard/src/commands/files.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) fn get_files_with_filter(file: &str, sort: S, filter: F) -> Result, Error> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Iter` is never constructed [INFO] [stdout] --> guard/src/commands/files.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | pub(crate) struct Iter<'i, T, C> [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `iterate_over` is never used [INFO] [stdout] --> guard/src/commands/files.rs:95:15 [INFO] [stdout] | [INFO] [stdout] 95 | pub(crate) fn iterate_over(files: &[PathBuf], converter: C) -> Iter [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `alpabetical` is never used [INFO] [stdout] --> guard/src/commands/files.rs:103:15 [INFO] [stdout] | [INFO] [stdout] 103 | pub(crate) fn alpabetical(first : &walkdir::DirEntry, second: &walkdir::DirEntry) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `last_modified` is never used [INFO] [stdout] --> guard/src/commands/files.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | pub(crate) fn last_modified(first: &walkdir::DirEntry, second: &walkdir::DirEntry) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `regular_ordering` is never used [INFO] [stdout] --> guard/src/commands/files.rs:120:15 [INFO] [stdout] | [INFO] [stdout] 120 | pub(crate) fn regular_ordering(_first: &walkdir::DirEntry, _second: &walkdir::DirEntry) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Type` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:31:17 [INFO] [stdout] | [INFO] [stdout] 31 | pub(crate) enum Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OutputFormatType` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) enum OutputFormatType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `report` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub(crate) trait Reporter : Debug { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 44 | fn report(&self, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Validate` is never constructed [INFO] [stdout] --> guard/src/commands/validate.rs:54:19 [INFO] [stdout] | [INFO] [stdout] 54 | pub(crate) struct Validate {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:57:19 [INFO] [stdout] | [INFO] [stdout] 56 | impl Validate { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 57 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_and_return_json` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn validate_and_return_json( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `reporters`, `rules_file_name`, `data_file_name`, `verbose`, `print_json`, and `show_clause_failures` are never read [INFO] [stdout] --> guard/src/commands/validate.rs:272:5 [INFO] [stdout] | [INFO] [stdout] 270 | pub(crate) struct ConsoleReporter<'r> { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 271 | root_context: StackTracker<'r>, [INFO] [stdout] 272 | reporters: &'r Vec>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 273 | rules_file_name: &'r str, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 274 | data_file_name: &'r str, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 275 | verbose: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 276 | print_json: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 277 | show_clause_failures: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConsoleReporter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `indent_spaces` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:280:4 [INFO] [stdout] | [INFO] [stdout] 280 | fn indent_spaces(indent: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_context` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:286:15 [INFO] [stdout] | [INFO] [stdout] 286 | pub(super) fn print_context(cxt: &StatusContext, depth: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_failing_clause` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:323:4 [INFO] [stdout] | [INFO] [stdout] 323 | fn print_failing_clause(rules_file_name: &str, rule: &StatusContext, longest: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `report` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:381:8 [INFO] [stdout] | [INFO] [stdout] 362 | impl<'r, 'loc> ConsoleReporter<'r> { [INFO] [stdout] | ---------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 381 | fn report(self) -> crate::rules::Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INDENT` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:434:7 [INFO] [stdout] | [INFO] [stdout] 434 | const INDENT: &str = " "; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate_against_data_input` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:464:4 [INFO] [stdout] | [INFO] [stdout] 464 | fn evaluate_against_data_input<'r>(data_type: Type, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenericSummary` is never constructed [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) struct GenericSummary<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 24 | impl<'a> GenericSummary<'a> { [INFO] [stdout] | --------------------------- associated function in this implementation [INFO] [stdout] 25 | pub(crate) fn new<'r>(data_file_name: &'r str, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SingleLineSummary` is never constructed [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | struct SingleLineSummary{} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `retrieval_error_message` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn retrieval_error_message(rules_file: &str, data_file: &str, info: &NameInfo<'_>) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unary_error_message` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn unary_error_message(rules_file: &str, data_file: &str, op_msg: &str, info: &NameInfo<'_>) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `binary_error_message` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn binary_error_message(rules_file: &str, data_file: &str, op_msg: &str, info: &NameInfo<'_>) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NameInfo` is never constructed [INFO] [stdout] --> guard/src/commands/validate/common.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 31 | pub(super) struct NameInfo<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `GenericReporter` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:40:18 [INFO] [stdout] | [INFO] [stdout] 40 | pub(super) trait GenericReporter: Debug { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StructureType` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | pub(super) enum StructureType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StructuredSummary` is never constructed [INFO] [stdout] --> guard/src/commands/validate/common.rs:58:19 [INFO] [stdout] | [INFO] [stdout] 58 | pub(super) struct StructuredSummary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:63:19 [INFO] [stdout] | [INFO] [stdout] 62 | impl StructuredSummary { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 63 | pub(super) fn new(hierarchy_type: StructureType) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DataOutput` is never constructed [INFO] [stdout] --> guard/src/commands/validate/common.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | struct DataOutput<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_name_info` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | pub(super) fn extract_name_info<'a>(rule_name: &'a str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `colored_string` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:162:15 [INFO] [stdout] | [INFO] [stdout] 162 | pub(super) fn colored_string(status: Option) -> ColoredString { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_all_failing_clauses` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:174:15 [INFO] [stdout] | [INFO] [stdout] 174 | pub(super) fn find_all_failing_clauses(context: &StatusContext) -> Vec<&StatusContext> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_compliant_skipped_info` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:199:15 [INFO] [stdout] | [INFO] [stdout] 199 | pub(super) fn print_compliant_skipped_info(writer: &mut dyn Write, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_name_info` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:219:15 [INFO] [stdout] | [INFO] [stdout] 219 | pub(super) fn print_name_info( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SummaryTable` is never constructed [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 21 | pub(super) struct SummaryTable<'r> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:28:19 [INFO] [stdout] | [INFO] [stdout] 27 | impl<'a> SummaryTable<'a> { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] 28 | pub(crate) fn new<'r>(rules_file_name: &'r str, data_file_name: &'r str, summary_type: BitFlags) -> SummaryTable<'r> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_partition` is never used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn print_partition(writer: &mut dyn Write, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CfnReporter` is never constructed [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:23:19 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) struct CfnReporter<'a> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 30 | impl<'a> CfnReporter<'a> { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 31 | pub(crate) fn new<'r>(data_file_name: &'r str, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SingleLineReporter` is never constructed [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | struct SingleLineReporter {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rulegen` is never constructed [INFO] [stdout] --> guard/src/commands/rulegen.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | pub(crate) struct Rulegen {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/rulegen.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 16 | impl Rulegen { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 17 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_template_and_call_gen` is never used [INFO] [stdout] --> guard/src/commands/rulegen.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn parse_template_and_call_gen(template_contents: &str) -> HashMap>>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_rules` is never used [INFO] [stdout] --> guard/src/commands/rulegen.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn gen_rules(cfn_resources: HashMap) -> HashMap>> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_rules` is never used [INFO] [stdout] --> guard/src/commands/rulegen.rs:172:4 [INFO] [stdout] | [INFO] [stdout] 172 | fn print_rules(rule_map : HashMap>>, mut writer : Box) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Test` is never constructed [INFO] [stdout] --> guard/src/commands/test.rs:23:19 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) struct Test {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/test.rs:26:19 [INFO] [stdout] | [INFO] [stdout] 25 | impl Test { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 26 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_with_data` is never used [INFO] [stdout] --> guard/src/commands/test.rs:118:4 [INFO] [stdout] | [INFO] [stdout] 118 | fn test_with_data(test_data_files: &[PathBuf], rules: &RulesFile<'_>, verbose: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_test_case_report` is never used [INFO] [stdout] --> guard/src/commands/test.rs:188:16 [INFO] [stdout] | [INFO] [stdout] 188 | pub (crate) fn print_test_case_report(by_result: &HashMap>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParseTree` is never constructed [INFO] [stdout] --> guard/src/commands/parse_tree.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) struct ParseTree {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/parse_tree.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 9 | impl ParseTree { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 10 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Migrate` is never constructed [INFO] [stdout] --> guard/src/commands/migrate.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 24 | pub(crate) struct Migrate {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/migrate.rs:27:19 [INFO] [stdout] | [INFO] [stdout] 26 | impl Migrate { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 27 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `migrated_rules_by_type` is never used [INFO] [stdout] --> guard/src/commands/migrate.rs:87:15 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn migrated_rules_by_type(rules: &[RuleLineType], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `aggregate_by_type` is never used [INFO] [stdout] --> guard/src/commands/migrate.rs:110:15 [INFO] [stdout] | [INFO] [stdout] 110 | pub(crate) fn aggregate_by_type(rules: &Vec) -> HashMap> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_resource_types_in_ruleset` is never used [INFO] [stdout] --> guard/src/commands/migrate.rs:132:16 [INFO] [stdout] | [INFO] [stdout] 132 | pub (crate) fn get_resource_types_in_ruleset(rules: &Vec) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `migrate_rules` is never used [INFO] [stdout] --> guard/src/commands/migrate.rs:149:16 [INFO] [stdout] | [INFO] [stdout] 149 | pub (crate) fn migrate_rules(rules: Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetadataAppender` is never constructed [INFO] [stdout] --> guard/src/commands/aws_meta_appender.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | pub(super) struct MetadataAppender<'d> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DummyEval` is never constructed [INFO] [stdout] --> guard/src/commands/common_test_helpers.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | pub(super) struct DummyEval{} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Command` is never used [INFO] [stdout] --> guard/src/command.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | pub(crate) trait Command { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Value` and `VariableAccess` are never constructed [INFO] [stdout] --> guard/src/migrate/parser.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum OldGuardValues { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 22 | Value(Value), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | VariableAccess(String) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OldGuardValues` 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: struct `Assignment` is never constructed [INFO] [stdout] --> guard/src/migrate/parser.rs:44:19 [INFO] [stdout] | [INFO] [stdout] 44 | pub(crate) struct Assignment { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CmpOperator` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | pub(crate) enum CmpOperator { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PropertyComparison` is never constructed [INFO] [stdout] --> guard/src/migrate/parser.rs:82:19 [INFO] [stdout] | [INFO] [stdout] 82 | pub(crate) struct PropertyComparison { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BaseRule` is never constructed [INFO] [stdout] --> guard/src/migrate/parser.rs:109:19 [INFO] [stdout] | [INFO] [stdout] 109 | pub(crate) struct BaseRule { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConditionalRule` is never constructed [INFO] [stdout] --> guard/src/migrate/parser.rs:128:19 [INFO] [stdout] | [INFO] [stdout] 128 | pub(crate) struct ConditionalRule { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Rule` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:143:17 [INFO] [stdout] | [INFO] [stdout] 143 | pub(crate) enum Rule { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Clause` is never constructed [INFO] [stdout] --> guard/src/migrate/parser.rs:157:19 [INFO] [stdout] | [INFO] [stdout] 157 | pub(crate) struct Clause { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RuleLineType` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 171 | pub(crate) enum RuleLineType { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_variable_dereference` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:195:16 [INFO] [stdout] | [INFO] [stdout] 195 | pub (crate) fn parse_variable_dereference(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_complete_value` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:202:27 [INFO] [stdout] | [INFO] [stdout] 202 | pub(in crate::migrate) fn parse_complete_value(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `comment` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:216:27 [INFO] [stdout] | [INFO] [stdout] 216 | pub(in crate::migrate) fn comment(input: Span) ->IResult { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_old_guard_value` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:222:28 [INFO] [stdout] | [INFO] [stdout] 222 | pub (in crate::migrate) fn parse_old_guard_value(input:Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assignment` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:240:15 [INFO] [stdout] | [INFO] [stdout] 240 | pub(crate) fn assignment(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `value_operator` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:267:27 [INFO] [stdout] | [INFO] [stdout] 267 | pub(in crate::migrate) fn value_operator(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `property_path` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:290:27 [INFO] [stdout] | [INFO] [stdout] 290 | pub(in crate::migrate) fn property_path(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `property_comparison` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:297:27 [INFO] [stdout] | [INFO] [stdout] 297 | pub(in crate::migrate) fn property_comparison(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `base_rule` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:315:27 [INFO] [stdout] | [INFO] [stdout] 315 | pub(in crate::migrate) fn base_rule(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `conditional_rule` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:339:27 [INFO] [stdout] | [INFO] [stdout] 339 | pub(in crate::migrate) fn conditional_rule(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `custom_message` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:361:27 [INFO] [stdout] | [INFO] [stdout] 361 | pub(in crate::migrate) fn custom_message(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rule` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:368:27 [INFO] [stdout] | [INFO] [stdout] 368 | pub(in crate::migrate) fn rule(input: Span) -> IResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clause` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:381:27 [INFO] [stdout] | [INFO] [stdout] 381 | pub(in crate::migrate) fn clause(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_line` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:388:27 [INFO] [stdout] | [INFO] [stdout] 388 | pub(in crate::migrate) fn empty_line(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rule_line` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:394:27 [INFO] [stdout] | [INFO] [stdout] 394 | pub(in crate::migrate) fn rule_line(input: Span) ->IResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_rules_file` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:408:15 [INFO] [stdout] | [INFO] [stdout] 408 | pub(crate) fn parse_rules_file(input: &String, file_name: &String) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe [INFO] [stdout] --> guard/src/lib.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | data: &str, [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider using `*const u8` and a length instead [INFO] [stdout] = note: string slices have no C equivalent [INFO] [stdout] = note: `#[warn(improper_ctypes_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe [INFO] [stdout] --> guard/src/lib.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | rules: &str, [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider using `*const u8` and a length instead [INFO] [stdout] = note: string slices have no C equivalent [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `std::result::Result`, which is not FFI-safe [INFO] [stdout] --> guard/src/lib.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | ) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum [INFO] [stdout] = note: enum has no representation hint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/evaluate.rs:950:9 [INFO] [stdout] | [INFO] [stdout] 950 | / extract_variables(&rules.assignments, [INFO] [stdout] 951 | | &mut literals, [INFO] [stdout] 952 | | &mut pending); [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 950 | let _ = extract_variables(&rules.assignments, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/evaluate.rs:1046:9 [INFO] [stdout] | [INFO] [stdout] 1046 | / extract_variables(&block_type.assignments, [INFO] [stdout] 1047 | | &mut literals, [INFO] [stdout] 1048 | | &mut pending); [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1046 | let _ = extract_variables(&block_type.assignments, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/values.rs:155:17 [INFO] [stdout] | [INFO] [stdout] 155 | write!(f, "{},{}", range.lower, range.upper); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | reader.read_to_string(&mut context); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | let _ = reader.read_to_string(&mut context); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | writeln!(writer, "--"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/common.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | / match &self.hierarchy_type { [INFO] [stdout] 97 | | StructureType::JSON => writeln!(writer, "{}", serde_json::to_string(&value)?), [INFO] [stdout] 98 | | StructureType::YAML => writeln!(writer, "{}", serde_yaml::to_string(&value)?), [INFO] [stdout] 99 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 96 | let _ = match &self.hierarchy_type { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | writeln!(writer, "{}", "SKIP rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | writeln!(writer, "{}", "PASS rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | writeln!(writer, "{}", "FAILED rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | writeln!(writer, "--"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/rulegen.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | write!(writer,"{}", generated_rules); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | writeln!(&mut migrated, "{}", assignment); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | writeln!(&mut migrated, "let {} = Resources.*[ Type == \"{}\" ]", each_type, each_type.type_name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | writeln!(&mut migrated, "rule {name}_checks WHEN %{name} NOT EMPTY {{", name=each_type); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | writeln!(&mut migrated, " %{} {{", each_type); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | writeln!(&mut migrated, " {}", *each_clause); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | writeln!(&mut migrated, " }}\n}}\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `query:` in this pattern is redundant [INFO] [stdout] --> guard/src/commands/aws_meta_appender.rs:42:59 [INFO] [stdout] | [INFO] [stdout] 42 | ... let AccessQuery { query: query, match_all: all } = [INFO] [stdout] | ^^^^^^^^^^^^ help: use shorthand field pattern: `query` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_shorthand_field_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/migrate/parser.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | writeln!(f, "when {} {{", self.when_condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/migrate/parser.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | writeln!(f, " {}", self.check_condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 146 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking cfn-guard-lambda v2.0.3 (/opt/rustwide/workdir/guard-lambda) [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> guard-lambda/src/main.rs:39:23 [INFO] [stdout] | [INFO] [stdout] 39 | Err(e) => (e.to_string()), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 39 - Err(e) => (e.to_string()), [INFO] [stdout] 39 + Err(e) => e.to_string(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> guard-lambda/src/main.rs:39:23 [INFO] [stdout] | [INFO] [stdout] 39 | Err(e) => (e.to_string()), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 39 - Err(e) => (e.to_string()), [INFO] [stdout] 39 + Err(e) => e.to_string(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clause` [INFO] [stdout] --> guard/src/rules/parser_tests.rs:4121:17 [INFO] [stdout] | [INFO] [stdout] 4121 | let (_span, clause) = rule_block_clause(from_str2(when_inside_when))?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_clause` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WhenConditions` [INFO] [stdout] --> guard/src/rules/evaluate.rs:9:114 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::rules::exprs::{GuardClause, GuardNamedRuleClause, QueryPart, RuleClause, TypeBlock, BlockGuardClause, WhenConditions, WhenGuar... [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> guard/src/rules/evaluate.rs:684:12 [INFO] [stdout] | [INFO] [stdout] 684 | Ok('outer: loop { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Write` [INFO] [stdout] --> guard/src/rules/path_value.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fmt::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ALPHABETICAL` and `LAST_MODIFIED` [INFO] [stdout] --> guard/src/commands/validate.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::commands::{ALPHABETICAL, LAST_MODIFIED}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regular_ordering` [INFO] [stdout] --> guard/src/commands/validate.rs:12:83 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::commands::files::{alpabetical, get_files, iterate_over, last_modified, regular_ordering}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::*` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Serialize` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::Serialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `path_value` [INFO] [stdout] --> guard/src/commands/validate/common.rs:5:36 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::rules::{EvaluationType, path_value, Status}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::rules::path_value::Path` [INFO] [stdout] --> guard/src/commands/validate/common.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::rules::path_value::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::*` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorKind` and `Error` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::rules::errors::{Error, ErrorKind}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::Ref` [INFO] [stdout] --> guard/src/commands/tracker.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cell::Ref; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `QueryPart` [INFO] [stdout] --> guard/src/commands/aws_meta_appender.rs:3:27 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::rules::exprs::{QueryPart, AccessQuery}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> guard/src/migrate/parser.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `longest_rule_len` [INFO] [stdout] --> guard/src/commands/validate/common.rs:86:41 [INFO] [stdout] | [INFO] [stdout] 86 | skipped: HashSet, longest_rule_len: usize) -> crate::rules::Result<()> [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_longest_rule_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `longest_rule_len` [INFO] [stdout] --> guard/src/commands/validate/common.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | longest_rule_len: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_longest_rule_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WhenConditions` [INFO] [stdout] --> guard/src/rules/evaluate.rs:9:114 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::rules::exprs::{GuardClause, GuardNamedRuleClause, QueryPart, RuleClause, TypeBlock, BlockGuardClause, WhenConditions, WhenGuar... [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> guard/src/rules/evaluate.rs:684:12 [INFO] [stdout] | [INFO] [stdout] 684 | Ok('outer: loop { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2087:23 [INFO] [stdout] | [INFO] [stdout] 2087 | struct Reporter {}; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2152:60 [INFO] [stdout] | [INFO] [stdout] 2152 | struct Reporter<'a> { root: &'a dyn EvaluationContext }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> guard/src/rules/values_tests.rs:124:6 [INFO] [stdout] | [INFO] [stdout] 124 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> guard/src/rules/values_tests.rs:217:27 [INFO] [stdout] | [INFO] [stdout] 217 | struct DummyResolver{}; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Write` [INFO] [stdout] --> guard/src/rules/path_value.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fmt::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ALPHABETICAL` and `LAST_MODIFIED` [INFO] [stdout] --> guard/src/commands/validate.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::commands::{ALPHABETICAL, LAST_MODIFIED}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regular_ordering` [INFO] [stdout] --> guard/src/commands/validate.rs:12:83 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::commands::files::{alpabetical, get_files, iterate_over, last_modified, regular_ordering}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::*` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Serialize` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::Serialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `path_value` [INFO] [stdout] --> guard/src/commands/validate/common.rs:5:36 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::rules::{EvaluationType, path_value, Status}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::rules::path_value::Path` [INFO] [stdout] --> guard/src/commands/validate/common.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::rules::path_value::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::*` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorKind` and `Error` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::rules::errors::{Error, ErrorKind}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::Ref` [INFO] [stdout] --> guard/src/commands/tracker.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cell::Ref; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `QueryPart` [INFO] [stdout] --> guard/src/commands/aws_meta_appender.rs:3:27 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::rules::exprs::{QueryPart, AccessQuery}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::super::common_test_helpers::DummyEval` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::super::common_test_helpers::DummyEval; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:40:22 [INFO] [stdout] | [INFO] [stdout] 40 | struct Capture {}; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> guard/src/migrate/parser.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::rules::values::Value::Bool` [INFO] [stdout] --> guard/src/migrate/parser_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::rules::values::Value::Bool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> guard/src/commands/validate.rs:45:28 [INFO] [stdout] | [INFO] [stdout] 45 | writer: &mut Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 | writer: &mut dyn Write, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:42:36 [INFO] [stdout] | [INFO] [stdout] 42 | fn resolve_variable(&self, variable: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rule_name` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:46:31 [INFO] [stdout] | [INFO] [stdout] 46 | fn rule_status(&self, rule_name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rule_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `eval_type` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:50:34 [INFO] [stdout] | [INFO] [stdout] 50 | ... fn end_evaluation(&self, eval_type: EvaluationType, context: &str, msg: String, from: Option, to: Option guard/src/commands/aws_meta_appender_tests.rs:50:61 [INFO] [stdout] | [INFO] [stdout] 50 | ... eval_type: EvaluationType, context: &str, msg: String, from: Option, to: Option, status: Option guard/src/commands/aws_meta_appender_tests.rs:50:89 [INFO] [stdout] | [INFO] [stdout] 50 | ...e, context: &str, msg: String, from: Option, to: Option, status: Option, _cmp: Option<(CmpOper... [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:50:119 [INFO] [stdout] | [INFO] [stdout] 50 | ...g, from: Option, to: Option, status: Option, _cmp: Option<(CmpOperator, bool)>) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:50:147 [INFO] [stdout] | [INFO] [stdout] 50 | ... to: Option, status: Option, _cmp: Option<(CmpOperator, bool)>) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `eval_type` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:57:36 [INFO] [stdout] | [INFO] [stdout] 57 | fn start_evaluation(&self, eval_type: EvaluationType, context: &str) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eval_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:57:63 [INFO] [stdout] | [INFO] [stdout] 57 | fn start_evaluation(&self, eval_type: EvaluationType, context: &str) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> guard/src/commands/validate.rs:45:28 [INFO] [stdout] | [INFO] [stdout] 45 | writer: &mut Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 | writer: &mut dyn Write, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rules` is never read [INFO] [stdout] --> guard/src/rules/evaluate.rs:936:5 [INFO] [stdout] | [INFO] [stdout] 935 | pub(crate) struct RootScope<'s, 'loc> { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 936 | rules: &'s RulesFile<'loc>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RootScope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `block_type` is never read [INFO] [stdout] --> guard/src/rules/evaluate.rs:1034:5 [INFO] [stdout] | [INFO] [stdout] 1033 | pub(crate) struct BlockScope<'s, T> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 1034 | block_type: &'s Block<'s, T>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `comparison` is never used [INFO] [stdout] --> guard/src/rules/evaluate.rs:1151:19 [INFO] [stdout] | [INFO] [stdout] 1129 | impl<'s> AutoReport<'s> { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1151 | pub(super) fn comparison(&mut self, status: Status, from: Option, to: Option, cmp: (CmpOperator, bool... [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VariableResolver` is never constructed [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:884:8 [INFO] [stdout] | [INFO] [stdout] 884 | struct VariableResolver<'a, 'b>(&'a dyn EvaluationContext, HashMap>); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `context`, `span`, and `kind` are never used [INFO] [stdout] --> guard/src/rules/parser.rs:46:19 [INFO] [stdout] | [INFO] [stdout] 45 | impl<'a> ParserError<'a> { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 46 | pub(crate) fn context(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub(crate) fn span(&self) -> &Span<'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub(crate) fn kind(&self) -> nom::error::ErrorKind { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> guard/src/rules/parser.rs:1532:43 [INFO] [stdout] | [INFO] [stdout] 1532 | pub(crate) struct ConjunctionsWrapper<'a>(pub(crate) Conjunctions>); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_unary` and `is_binary` are never used [INFO] [stdout] --> guard/src/rules/values.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 30 | impl CmpOperator { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 31 | pub(crate) fn is_unary(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub(crate) fn is_binary(&self) -> bool { !self.is_unary() } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `drop_last` and `extend_with_value` are never used [INFO] [stdout] --> guard/src/rules/path_value.rs:92:19 [INFO] [stdout] | [INFO] [stdout] 75 | impl Path { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 92 | pub(crate) fn drop_last(&mut self) -> &mut Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub(crate) fn extend_with_value(&self, part: &Value) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_scalar` is never used [INFO] [stdout] --> guard/src/rules/path_value.rs:675:19 [INFO] [stdout] | [INFO] [stdout] 634 | impl PathAwareValue { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 675 | pub(crate) fn is_scalar(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SAMPLE_MULTIPLE` is never used [INFO] [stdout] --> guard/src/rules/path_value_tests.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const SAMPLE_MULTIPLE : &str = r#"{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ALPHABETICAL` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) const ALPHABETICAL: (&str, &str) = ("alphabetical", "a"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LAST_MODIFIED` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) const LAST_MODIFIED: (&str, &str) = ("last-modified", "l"); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RULES` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub(crate) const RULES: (&str, &str) = ("rules", "r"); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 19 | pub(crate) const DATA: (&str, &str) = ("data", "d"); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_files` is never used [INFO] [stdout] --> guard/src/commands/files.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) fn get_files(file: &str, sort: F) -> Result, Error> [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_files_with_filter` is never used [INFO] [stdout] --> guard/src/commands/files.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) fn get_files_with_filter(file: &str, sort: S, filter: F) -> Result, Error> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Iter` is never constructed [INFO] [stdout] --> guard/src/commands/files.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | pub(crate) struct Iter<'i, T, C> [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `iterate_over` is never used [INFO] [stdout] --> guard/src/commands/files.rs:95:15 [INFO] [stdout] | [INFO] [stdout] 95 | pub(crate) fn iterate_over(files: &[PathBuf], converter: C) -> Iter [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `alpabetical` is never used [INFO] [stdout] --> guard/src/commands/files.rs:103:15 [INFO] [stdout] | [INFO] [stdout] 103 | pub(crate) fn alpabetical(first : &walkdir::DirEntry, second: &walkdir::DirEntry) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `last_modified` is never used [INFO] [stdout] --> guard/src/commands/files.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | pub(crate) fn last_modified(first: &walkdir::DirEntry, second: &walkdir::DirEntry) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `regular_ordering` is never used [INFO] [stdout] --> guard/src/commands/files.rs:120:15 [INFO] [stdout] | [INFO] [stdout] 120 | pub(crate) fn regular_ordering(_first: &walkdir::DirEntry, _second: &walkdir::DirEntry) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Type` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:31:17 [INFO] [stdout] | [INFO] [stdout] 31 | pub(crate) enum Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OutputFormatType` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) enum OutputFormatType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `report` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub(crate) trait Reporter : Debug { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 44 | fn report(&self, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Validate` is never constructed [INFO] [stdout] --> guard/src/commands/validate.rs:54:19 [INFO] [stdout] | [INFO] [stdout] 54 | pub(crate) struct Validate {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:57:19 [INFO] [stdout] | [INFO] [stdout] 56 | impl Validate { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 57 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_and_return_json` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn validate_and_return_json( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `reporters`, `rules_file_name`, `data_file_name`, `verbose`, `print_json`, and `show_clause_failures` are never read [INFO] [stdout] --> guard/src/commands/validate.rs:272:5 [INFO] [stdout] | [INFO] [stdout] 270 | pub(crate) struct ConsoleReporter<'r> { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 271 | root_context: StackTracker<'r>, [INFO] [stdout] 272 | reporters: &'r Vec>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 273 | rules_file_name: &'r str, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 274 | data_file_name: &'r str, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 275 | verbose: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 276 | print_json: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 277 | show_clause_failures: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConsoleReporter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `indent_spaces` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:280:4 [INFO] [stdout] | [INFO] [stdout] 280 | fn indent_spaces(indent: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_context` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:286:15 [INFO] [stdout] | [INFO] [stdout] 286 | pub(super) fn print_context(cxt: &StatusContext, depth: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_failing_clause` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:323:4 [INFO] [stdout] | [INFO] [stdout] 323 | fn print_failing_clause(rules_file_name: &str, rule: &StatusContext, longest: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `report` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:381:8 [INFO] [stdout] | [INFO] [stdout] 362 | impl<'r, 'loc> ConsoleReporter<'r> { [INFO] [stdout] | ---------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 381 | fn report(self) -> crate::rules::Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INDENT` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:434:7 [INFO] [stdout] | [INFO] [stdout] 434 | const INDENT: &str = " "; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate_against_data_input` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:464:4 [INFO] [stdout] | [INFO] [stdout] 464 | fn evaluate_against_data_input<'r>(data_type: Type, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenericSummary` is never constructed [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) struct GenericSummary<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 24 | impl<'a> GenericSummary<'a> { [INFO] [stdout] | --------------------------- associated function in this implementation [INFO] [stdout] 25 | pub(crate) fn new<'r>(data_file_name: &'r str, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SingleLineSummary` is never constructed [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | struct SingleLineSummary{} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `retrieval_error_message` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn retrieval_error_message(rules_file: &str, data_file: &str, info: &NameInfo<'_>) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unary_error_message` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn unary_error_message(rules_file: &str, data_file: &str, op_msg: &str, info: &NameInfo<'_>) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `binary_error_message` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn binary_error_message(rules_file: &str, data_file: &str, op_msg: &str, info: &NameInfo<'_>) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NameInfo` is never constructed [INFO] [stdout] --> guard/src/commands/validate/common.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 31 | pub(super) struct NameInfo<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `GenericReporter` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:40:18 [INFO] [stdout] | [INFO] [stdout] 40 | pub(super) trait GenericReporter: Debug { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StructureType` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | pub(super) enum StructureType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StructuredSummary` is never constructed [INFO] [stdout] --> guard/src/commands/validate/common.rs:58:19 [INFO] [stdout] | [INFO] [stdout] 58 | pub(super) struct StructuredSummary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:63:19 [INFO] [stdout] | [INFO] [stdout] 62 | impl StructuredSummary { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 63 | pub(super) fn new(hierarchy_type: StructureType) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DataOutput` is never constructed [INFO] [stdout] --> guard/src/commands/validate/common.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | struct DataOutput<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_name_info` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | pub(super) fn extract_name_info<'a>(rule_name: &'a str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `colored_string` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:162:15 [INFO] [stdout] | [INFO] [stdout] 162 | pub(super) fn colored_string(status: Option) -> ColoredString { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_all_failing_clauses` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:174:15 [INFO] [stdout] | [INFO] [stdout] 174 | pub(super) fn find_all_failing_clauses(context: &StatusContext) -> Vec<&StatusContext> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_compliant_skipped_info` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:199:15 [INFO] [stdout] | [INFO] [stdout] 199 | pub(super) fn print_compliant_skipped_info(writer: &mut dyn Write, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_name_info` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:219:15 [INFO] [stdout] | [INFO] [stdout] 219 | pub(super) fn print_name_info( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SummaryTable` is never constructed [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 21 | pub(super) struct SummaryTable<'r> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:28:19 [INFO] [stdout] | [INFO] [stdout] 27 | impl<'a> SummaryTable<'a> { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] 28 | pub(crate) fn new<'r>(rules_file_name: &'r str, data_file_name: &'r str, summary_type: BitFlags) -> SummaryTable<'r> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_partition` is never used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn print_partition(writer: &mut dyn Write, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CfnReporter` is never constructed [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:23:19 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) struct CfnReporter<'a> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 30 | impl<'a> CfnReporter<'a> { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 31 | pub(crate) fn new<'r>(data_file_name: &'r str, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SingleLineReporter` is never constructed [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | struct SingleLineReporter {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rulegen` is never constructed [INFO] [stdout] --> guard/src/commands/rulegen.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | pub(crate) struct Rulegen {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/rulegen.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 16 | impl Rulegen { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 17 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_rules` is never used [INFO] [stdout] --> guard/src/commands/rulegen.rs:172:4 [INFO] [stdout] | [INFO] [stdout] 172 | fn print_rules(rule_map : HashMap>>, mut writer : Box) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Test` is never constructed [INFO] [stdout] --> guard/src/commands/test.rs:23:19 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) struct Test {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/test.rs:26:19 [INFO] [stdout] | [INFO] [stdout] 25 | impl Test { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 26 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_with_data` is never used [INFO] [stdout] --> guard/src/commands/test.rs:118:4 [INFO] [stdout] | [INFO] [stdout] 118 | fn test_with_data(test_data_files: &[PathBuf], rules: &RulesFile<'_>, verbose: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_test_case_report` is never used [INFO] [stdout] --> guard/src/commands/test.rs:188:16 [INFO] [stdout] | [INFO] [stdout] 188 | pub (crate) fn print_test_case_report(by_result: &HashMap>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParseTree` is never constructed [INFO] [stdout] --> guard/src/commands/parse_tree.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) struct ParseTree {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/parse_tree.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 9 | impl ParseTree { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 10 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Migrate` is never constructed [INFO] [stdout] --> guard/src/commands/migrate.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 24 | pub(crate) struct Migrate {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/migrate.rs:27:19 [INFO] [stdout] | [INFO] [stdout] 26 | impl Migrate { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 27 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DummyEval` is never constructed [INFO] [stdout] --> guard/src/commands/common_test_helpers.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | pub(super) struct DummyEval{} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Command` is never used [INFO] [stdout] --> guard/src/command.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | pub(crate) trait Command { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe [INFO] [stdout] --> guard/src/lib.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | data: &str, [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider using `*const u8` and a length instead [INFO] [stdout] = note: string slices have no C equivalent [INFO] [stdout] = note: `#[warn(improper_ctypes_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe [INFO] [stdout] --> guard/src/lib.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | rules: &str, [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider using `*const u8` and a length instead [INFO] [stdout] = note: string slices have no C equivalent [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `std::result::Result`, which is not FFI-safe [INFO] [stdout] --> guard/src/lib.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | ) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum [INFO] [stdout] = note: enum has no representation hint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/evaluate.rs:950:9 [INFO] [stdout] | [INFO] [stdout] 950 | / extract_variables(&rules.assignments, [INFO] [stdout] 951 | | &mut literals, [INFO] [stdout] 952 | | &mut pending); [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 950 | let _ = extract_variables(&rules.assignments, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/evaluate.rs:1046:9 [INFO] [stdout] | [INFO] [stdout] 1046 | / extract_variables(&block_type.assignments, [INFO] [stdout] 1047 | | &mut literals, [INFO] [stdout] 1048 | | &mut pending); [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1046 | let _ = extract_variables(&block_type.assignments, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/values.rs:155:17 [INFO] [stdout] | [INFO] [stdout] 155 | write!(f, "{},{}", range.lower, range.upper); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | reader.read_to_string(&mut context); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | let _ = reader.read_to_string(&mut context); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | writeln!(writer, "--"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/common.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | / match &self.hierarchy_type { [INFO] [stdout] 97 | | StructureType::JSON => writeln!(writer, "{}", serde_json::to_string(&value)?), [INFO] [stdout] 98 | | StructureType::YAML => writeln!(writer, "{}", serde_yaml::to_string(&value)?), [INFO] [stdout] 99 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 96 | let _ = match &self.hierarchy_type { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | writeln!(writer, "{}", "SKIP rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | writeln!(writer, "{}", "PASS rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | writeln!(writer, "{}", "FAILED rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | writeln!(writer, "--"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/rulegen.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | write!(writer,"{}", generated_rules); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | writeln!(&mut migrated, "{}", assignment); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | writeln!(&mut migrated, "let {} = Resources.*[ Type == \"{}\" ]", each_type, each_type.type_name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | writeln!(&mut migrated, "rule {name}_checks WHEN %{name} NOT EMPTY {{", name=each_type); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | writeln!(&mut migrated, " %{} {{", each_type); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | writeln!(&mut migrated, " {}", *each_clause); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | writeln!(&mut migrated, " }}\n}}\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `query:` in this pattern is redundant [INFO] [stdout] --> guard/src/commands/aws_meta_appender.rs:42:59 [INFO] [stdout] | [INFO] [stdout] 42 | ... let AccessQuery { query: query, match_all: all } = [INFO] [stdout] | ^^^^^^^^^^^^ help: use shorthand field pattern: `query` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_shorthand_field_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/migrate/parser.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | writeln!(f, "when {} {{", self.when_condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/migrate/parser.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | writeln!(f, " {}", self.check_condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 135 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> guard/src/rules/evaluate.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BitFlag` [INFO] [stdout] --> guard/src/commands/validate.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 21 | use enumflags2::{BitFlag, BitFlags}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BitFlag` [INFO] [stdout] --> guard/src/commands/validate.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 21 | use enumflags2::{BitFlag, BitFlags}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable` [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2089:36 [INFO] [stdout] | [INFO] [stdout] 2089 | fn resolve_variable(&self, variable: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rule_name` [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2093:31 [INFO] [stdout] | [INFO] [stdout] 2093 | fn rule_status(&self, rule_name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rule_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2097:61 [INFO] [stdout] | [INFO] [stdout] 2097 | ... eval_type: EvaluationType, context: &str, msg: String, from: Option, to: Option, status: Option guard/src/rules/evaluate_tests.rs:2117:36 [INFO] [stdout] | [INFO] [stdout] 2117 | fn start_evaluation(&self, eval_type: EvaluationType, context: &str) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eval_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2117:63 [INFO] [stdout] | [INFO] [stdout] 2117 | fn start_evaluation(&self, eval_type: EvaluationType, context: &str) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `longest_rule_len` [INFO] [stdout] --> guard/src/commands/validate/common.rs:86:41 [INFO] [stdout] | [INFO] [stdout] 86 | skipped: HashSet, longest_rule_len: usize) -> crate::rules::Result<()> [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_longest_rule_len` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `longest_rule_len` [INFO] [stdout] --> guard/src/commands/validate/common.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | longest_rule_len: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_longest_rule_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rules` is never read [INFO] [stdout] --> guard/src/rules/evaluate.rs:936:5 [INFO] [stdout] | [INFO] [stdout] 935 | pub(crate) struct RootScope<'s, 'loc> { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 936 | rules: &'s RulesFile<'loc>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RootScope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `block_type` is never read [INFO] [stdout] --> guard/src/rules/evaluate.rs:1034:5 [INFO] [stdout] | [INFO] [stdout] 1033 | pub(crate) struct BlockScope<'s, T> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 1034 | block_type: &'s Block<'s, T>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `comparison` is never used [INFO] [stdout] --> guard/src/rules/evaluate.rs:1151:19 [INFO] [stdout] | [INFO] [stdout] 1129 | impl<'s> AutoReport<'s> { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1151 | pub(super) fn comparison(&mut self, status: Status, from: Option, to: Option, cmp: (CmpOperator, bool... [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `context`, `span`, and `kind` are never used [INFO] [stdout] --> guard/src/rules/parser.rs:46:19 [INFO] [stdout] | [INFO] [stdout] 45 | impl<'a> ParserError<'a> { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 46 | pub(crate) fn context(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub(crate) fn span(&self) -> &Span<'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub(crate) fn kind(&self) -> nom::error::ErrorKind { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> guard/src/rules/parser.rs:1532:43 [INFO] [stdout] | [INFO] [stdout] 1532 | pub(crate) struct ConjunctionsWrapper<'a>(pub(crate) Conjunctions>); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_binary` is never used [INFO] [stdout] --> guard/src/rules/values.rs:42:19 [INFO] [stdout] | [INFO] [stdout] 30 | impl CmpOperator { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 42 | pub(crate) fn is_binary(&self) -> bool { !self.is_unary() } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_linked_hashmap` is never used [INFO] [stdout] --> guard/src/rules/values.rs:309:15 [INFO] [stdout] | [INFO] [stdout] 309 | pub(super) fn make_linked_hashmap<'a, I>(values: I) -> IndexMap [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `drop_last` and `extend_with_value` are never used [INFO] [stdout] --> guard/src/rules/path_value.rs:92:19 [INFO] [stdout] | [INFO] [stdout] 75 | impl Path { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 92 | pub(crate) fn drop_last(&mut self) -> &mut Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub(crate) fn extend_with_value(&self, part: &Value) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_scalar` is never used [INFO] [stdout] --> guard/src/rules/path_value.rs:675:19 [INFO] [stdout] | [INFO] [stdout] 634 | impl PathAwareValue { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 675 | pub(crate) fn is_scalar(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RULES` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub(crate) const RULES: (&str, &str) = ("rules", "r"); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 19 | pub(crate) const DATA: (&str, &str) = ("data", "d"); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_and_return_json` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn validate_and_return_json( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `data_file_name` is never read [INFO] [stdout] --> guard/src/commands/validate.rs:274:5 [INFO] [stdout] | [INFO] [stdout] 270 | pub(crate) struct ConsoleReporter<'r> { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 274 | data_file_name: &'r str, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConsoleReporter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_result_json` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:375:12 [INFO] [stdout] | [INFO] [stdout] 362 | impl<'r, 'loc> ConsoleReporter<'r> { [INFO] [stdout] | ---------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 375 | pub fn get_result_json(self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `output_format_type` is never read [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) struct GenericSummary<'a> { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | output_format_type: OutputFormatType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GenericSummary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `output_format_type` is never read [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) struct CfnReporter<'a> { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | output_format_type: OutputFormatType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CfnReporter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_and_return_json` is never used [INFO] [stdout] --> guard/src/commands/helper.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn validate_and_return_json( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_resource_types_in_ruleset` is never used [INFO] [stdout] --> guard/src/commands/migrate.rs:132:16 [INFO] [stdout] | [INFO] [stdout] 132 | pub (crate) fn get_resource_types_in_ruleset(rules: &Vec) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DummyEval` is never constructed [INFO] [stdout] --> guard/src/commands/common_test_helpers.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | pub(super) struct DummyEval{} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/evaluate.rs:950:9 [INFO] [stdout] | [INFO] [stdout] 950 | / extract_variables(&rules.assignments, [INFO] [stdout] 951 | | &mut literals, [INFO] [stdout] 952 | | &mut pending); [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 950 | let _ = extract_variables(&rules.assignments, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/evaluate.rs:1046:9 [INFO] [stdout] | [INFO] [stdout] 1046 | / extract_variables(&block_type.assignments, [INFO] [stdout] 1047 | | &mut literals, [INFO] [stdout] 1048 | | &mut pending); [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1046 | let _ = extract_variables(&block_type.assignments, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/values.rs:155:17 [INFO] [stdout] | [INFO] [stdout] 155 | write!(f, "{},{}", range.lower, range.upper); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | reader.read_to_string(&mut context); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | let _ = reader.read_to_string(&mut context); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | writeln!(writer, "--"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/common.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | / match &self.hierarchy_type { [INFO] [stdout] 97 | | StructureType::JSON => writeln!(writer, "{}", serde_json::to_string(&value)?), [INFO] [stdout] 98 | | StructureType::YAML => writeln!(writer, "{}", serde_yaml::to_string(&value)?), [INFO] [stdout] 99 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 96 | let _ = match &self.hierarchy_type { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | writeln!(writer, "{}", "SKIP rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | writeln!(writer, "{}", "PASS rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | writeln!(writer, "{}", "FAILED rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | writeln!(writer, "--"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/rulegen.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | write!(writer,"{}", generated_rules); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | writeln!(&mut migrated, "{}", assignment); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | writeln!(&mut migrated, "let {} = Resources.*[ Type == \"{}\" ]", each_type, each_type.type_name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | writeln!(&mut migrated, "rule {name}_checks WHEN %{name} NOT EMPTY {{", name=each_type); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | writeln!(&mut migrated, " %{} {{", each_type); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | writeln!(&mut migrated, " {}", *each_clause); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | writeln!(&mut migrated, " }}\n}}\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `query:` in this pattern is redundant [INFO] [stdout] --> guard/src/commands/aws_meta_appender.rs:42:59 [INFO] [stdout] | [INFO] [stdout] 42 | ... let AccessQuery { query: query, match_all: all } = [INFO] [stdout] | ^^^^^^^^^^^^ help: use shorthand field pattern: `query` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_shorthand_field_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/migrate/parser.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | writeln!(f, "when {} {{", self.when_condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/migrate/parser.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | writeln!(f, " {}", self.check_condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 60 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `clause` [INFO] [stdout] --> guard/src/rules/parser_tests.rs:4121:17 [INFO] [stdout] | [INFO] [stdout] 4121 | let (_span, clause) = rule_block_clause(from_str2(when_inside_when))?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_clause` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `longest_rule_len` [INFO] [stdout] --> guard/src/commands/validate/common.rs:86:41 [INFO] [stdout] | [INFO] [stdout] 86 | skipped: HashSet, longest_rule_len: usize) -> crate::rules::Result<()> [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_longest_rule_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `longest_rule_len` [INFO] [stdout] --> guard/src/commands/validate/common.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | longest_rule_len: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_longest_rule_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:42:36 [INFO] [stdout] | [INFO] [stdout] 42 | fn resolve_variable(&self, variable: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rule_name` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:46:31 [INFO] [stdout] | [INFO] [stdout] 46 | fn rule_status(&self, rule_name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rule_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `eval_type` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:50:34 [INFO] [stdout] | [INFO] [stdout] 50 | ... fn end_evaluation(&self, eval_type: EvaluationType, context: &str, msg: String, from: Option, to: Option guard/src/commands/aws_meta_appender_tests.rs:50:61 [INFO] [stdout] | [INFO] [stdout] 50 | ... eval_type: EvaluationType, context: &str, msg: String, from: Option, to: Option, status: Option guard/src/commands/aws_meta_appender_tests.rs:50:89 [INFO] [stdout] | [INFO] [stdout] 50 | ...e, context: &str, msg: String, from: Option, to: Option, status: Option, _cmp: Option<(CmpOper... [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:50:119 [INFO] [stdout] | [INFO] [stdout] 50 | ...g, from: Option, to: Option, status: Option, _cmp: Option<(CmpOperator, bool)>) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:50:147 [INFO] [stdout] | [INFO] [stdout] 50 | ... to: Option, status: Option, _cmp: Option<(CmpOperator, bool)>) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `eval_type` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:57:36 [INFO] [stdout] | [INFO] [stdout] 57 | fn start_evaluation(&self, eval_type: EvaluationType, context: &str) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eval_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:57:63 [INFO] [stdout] | [INFO] [stdout] 57 | fn start_evaluation(&self, eval_type: EvaluationType, context: &str) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rules` is never read [INFO] [stdout] --> guard/src/rules/evaluate.rs:936:5 [INFO] [stdout] | [INFO] [stdout] 935 | pub(crate) struct RootScope<'s, 'loc> { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 936 | rules: &'s RulesFile<'loc>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RootScope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `block_type` is never read [INFO] [stdout] --> guard/src/rules/evaluate.rs:1034:5 [INFO] [stdout] | [INFO] [stdout] 1033 | pub(crate) struct BlockScope<'s, T> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 1034 | block_type: &'s Block<'s, T>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `comparison` is never used [INFO] [stdout] --> guard/src/rules/evaluate.rs:1151:19 [INFO] [stdout] | [INFO] [stdout] 1129 | impl<'s> AutoReport<'s> { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1151 | pub(super) fn comparison(&mut self, status: Status, from: Option, to: Option, cmp: (CmpOperator, bool... [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VariableResolver` is never constructed [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:884:8 [INFO] [stdout] | [INFO] [stdout] 884 | struct VariableResolver<'a, 'b>(&'a dyn EvaluationContext, HashMap>); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `context`, `span`, and `kind` are never used [INFO] [stdout] --> guard/src/rules/parser.rs:46:19 [INFO] [stdout] | [INFO] [stdout] 45 | impl<'a> ParserError<'a> { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 46 | pub(crate) fn context(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub(crate) fn span(&self) -> &Span<'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub(crate) fn kind(&self) -> nom::error::ErrorKind { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> guard/src/rules/parser.rs:1532:43 [INFO] [stdout] | [INFO] [stdout] 1532 | pub(crate) struct ConjunctionsWrapper<'a>(pub(crate) Conjunctions>); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_binary` is never used [INFO] [stdout] --> guard/src/rules/values.rs:42:19 [INFO] [stdout] | [INFO] [stdout] 30 | impl CmpOperator { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 42 | pub(crate) fn is_binary(&self) -> bool { !self.is_unary() } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `drop_last` and `extend_with_value` are never used [INFO] [stdout] --> guard/src/rules/path_value.rs:92:19 [INFO] [stdout] | [INFO] [stdout] 75 | impl Path { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 92 | pub(crate) fn drop_last(&mut self) -> &mut Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub(crate) fn extend_with_value(&self, part: &Value) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_scalar` is never used [INFO] [stdout] --> guard/src/rules/path_value.rs:675:19 [INFO] [stdout] | [INFO] [stdout] 634 | impl PathAwareValue { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 675 | pub(crate) fn is_scalar(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SAMPLE_MULTIPLE` is never used [INFO] [stdout] --> guard/src/rules/path_value_tests.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const SAMPLE_MULTIPLE : &str = r#"{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RULES` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub(crate) const RULES: (&str, &str) = ("rules", "r"); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 19 | pub(crate) const DATA: (&str, &str) = ("data", "d"); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_and_return_json` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn validate_and_return_json( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `data_file_name` is never read [INFO] [stdout] --> guard/src/commands/validate.rs:274:5 [INFO] [stdout] | [INFO] [stdout] 270 | pub(crate) struct ConsoleReporter<'r> { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 274 | data_file_name: &'r str, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConsoleReporter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_result_json` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:375:12 [INFO] [stdout] | [INFO] [stdout] 362 | impl<'r, 'loc> ConsoleReporter<'r> { [INFO] [stdout] | ---------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 375 | pub fn get_result_json(self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `output_format_type` is never read [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) struct GenericSummary<'a> { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | output_format_type: OutputFormatType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GenericSummary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `output_format_type` is never read [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) struct CfnReporter<'a> { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | output_format_type: OutputFormatType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CfnReporter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_and_return_json` is never used [INFO] [stdout] --> guard/src/commands/helper.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn validate_and_return_json( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DummyEval` is never constructed [INFO] [stdout] --> guard/src/commands/common_test_helpers.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | pub(super) struct DummyEval{} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/evaluate.rs:950:9 [INFO] [stdout] | [INFO] [stdout] 950 | / extract_variables(&rules.assignments, [INFO] [stdout] 951 | | &mut literals, [INFO] [stdout] 952 | | &mut pending); [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 950 | let _ = extract_variables(&rules.assignments, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/evaluate.rs:1046:9 [INFO] [stdout] | [INFO] [stdout] 1046 | / extract_variables(&block_type.assignments, [INFO] [stdout] 1047 | | &mut literals, [INFO] [stdout] 1048 | | &mut pending); [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1046 | let _ = extract_variables(&block_type.assignments, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/values.rs:155:17 [INFO] [stdout] | [INFO] [stdout] 155 | write!(f, "{},{}", range.lower, range.upper); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | reader.read_to_string(&mut context); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | let _ = reader.read_to_string(&mut context); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | writeln!(writer, "--"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/common.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | / match &self.hierarchy_type { [INFO] [stdout] 97 | | StructureType::JSON => writeln!(writer, "{}", serde_json::to_string(&value)?), [INFO] [stdout] 98 | | StructureType::YAML => writeln!(writer, "{}", serde_yaml::to_string(&value)?), [INFO] [stdout] 99 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 96 | let _ = match &self.hierarchy_type { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | writeln!(writer, "{}", "SKIP rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | writeln!(writer, "{}", "PASS rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | writeln!(writer, "{}", "FAILED rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | writeln!(writer, "--"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/rulegen.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | write!(writer,"{}", generated_rules); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | writeln!(&mut migrated, "{}", assignment); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | writeln!(&mut migrated, "let {} = Resources.*[ Type == \"{}\" ]", each_type, each_type.type_name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | writeln!(&mut migrated, "rule {name}_checks WHEN %{name} NOT EMPTY {{", name=each_type); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | writeln!(&mut migrated, " %{} {{", each_type); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | writeln!(&mut migrated, " {}", *each_clause); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | writeln!(&mut migrated, " }}\n}}\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `query:` in this pattern is redundant [INFO] [stdout] --> guard/src/commands/aws_meta_appender.rs:42:59 [INFO] [stdout] | [INFO] [stdout] 42 | ... let AccessQuery { query: query, match_all: all } = [INFO] [stdout] | ^^^^^^^^^^^^ help: use shorthand field pattern: `query` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_shorthand_field_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/migrate/parser.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | writeln!(f, "when {} {{", self.when_condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/migrate/parser.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | writeln!(f, " {}", self.check_condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 81 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.49s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "57db9cdf050af917218a487f20a4997f369b340a948b2063313cf06aa1d00003", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "57db9cdf050af917218a487f20a4997f369b340a948b2063313cf06aa1d00003", kill_on_drop: false }` [INFO] [stdout] 57db9cdf050af917218a487f20a4997f369b340a948b2063313cf06aa1d00003 [INFO] checking nizamawscloud/aws-cloudformation-cloudformation-guard against try#f9935d29d867449445ee008640ccca1bf1ae0889+rustflags=-Dtail_expr_drop_order for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnizamawscloud%2Faws-cloudformation-cloudformation-guard" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/nizamawscloud/aws-cloudformation-cloudformation-guard on toolchain f9935d29d867449445ee008640ccca1bf1ae0889 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/nizamawscloud/aws-cloudformation-cloudformation-guard [INFO] finished tweaking git repo https://github.com/nizamawscloud/aws-cloudformation-cloudformation-guard [INFO] tweaked toml for git repo https://github.com/nizamawscloud/aws-cloudformation-cloudformation-guard written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/nizamawscloud/aws-cloudformation-cloudformation-guard already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 25bcc155ee3852eafdf70970495469bef7da445af65bb2af84bfc5acf7d4ff3a [INFO] running `Command { std: "docker" "start" "-a" "25bcc155ee3852eafdf70970495469bef7da445af65bb2af84bfc5acf7d4ff3a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "25bcc155ee3852eafdf70970495469bef7da445af65bb2af84bfc5acf7d4ff3a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "25bcc155ee3852eafdf70970495469bef7da445af65bb2af84bfc5acf7d4ff3a", kill_on_drop: false }` [INFO] [stdout] 25bcc155ee3852eafdf70970495469bef7da445af65bb2af84bfc5acf7d4ff3a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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 -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4016e2ce204d47751785b4b6cc9d462b0dc623a7caf801b2816a6ff0deb42a03 [INFO] running `Command { std: "docker" "start" "-a" "4016e2ce204d47751785b4b6cc9d462b0dc623a7caf801b2816a6ff0deb42a03", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.26 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling syn v1.0.72 [INFO] [stderr] Compiling libc v0.2.94 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling serde_derive v1.0.126 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling serde v1.0.126 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling futures-core v0.3.15 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Checking itoa v0.4.7 [INFO] [stderr] Checking pin-project-lite v0.2.6 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling indexmap v1.6.2 [INFO] [stderr] Compiling lexical-core v0.7.6 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking hashbrown v0.9.1 [INFO] [stderr] Compiling serde_json v1.0.64 [INFO] [stderr] Compiling nom v5.1.2 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Compiling futures-macro v0.3.15 [INFO] [stderr] Compiling futures-channel v0.3.15 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Compiling proc-macro-nested v0.1.7 [INFO] [stderr] Compiling futures-task v0.3.15 [INFO] [stderr] Checking linked-hash-map v0.5.4 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking colored v1.9.3 [INFO] [stderr] Checking yaml-rust v0.4.5 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Compiling futures-util v0.3.15 [INFO] [stderr] Checking futures-sink v0.3.15 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking unicode-segmentation v1.7.1 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking bytes v1.0.1 [INFO] [stderr] Checking dtoa v0.4.8 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Checking bytecount v0.6.2 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking heck v0.3.2 [INFO] [stderr] Checking walkdir v2.3.2 [INFO] [stderr] Checking colored v2.0.0 [INFO] [stderr] Checking simple_logger v1.11.0 [INFO] [stderr] Compiling tokio v1.6.1 [INFO] [stderr] Checking tracing-core v0.1.18 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking itertools v0.4.19 [INFO] [stderr] Checking slab v0.4.3 [INFO] [stderr] Checking futures-io v0.3.15 [INFO] [stderr] Checking string-builder v0.2.0 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking mio v0.7.11 [INFO] [stderr] Checking once_cell v1.7.2 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Compiling httparse v1.4.1 [INFO] [stderr] Checking http v0.2.4 [INFO] [stderr] Checking thread_local v1.1.3 [INFO] [stderr] Checking sharded-slab v0.1.1 [INFO] [stderr] Checking try-lock v0.2.3 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking socket2 v0.4.0 [INFO] [stderr] Checking tower-service v0.3.1 [INFO] [stderr] Checking httpdate v1.0.1 [INFO] [stderr] Checking tracing-subscriber v0.2.18 [INFO] [stderr] Checking regex v1.5.4 [INFO] [stderr] Checking nom_locate v2.1.0 [INFO] [stderr] Checking http-body v0.4.2 [INFO] [stderr] Compiling enumflags2_derive v0.7.0 [INFO] [stderr] Compiling tokio-macros v1.2.0 [INFO] [stderr] Compiling tracing-attributes v0.1.15 [INFO] [stderr] Compiling pin-project-internal v1.0.7 [INFO] [stderr] Compiling async-stream-impl v0.3.2 [INFO] [stderr] Checking async-stream v0.3.2 [INFO] [stderr] Checking enumflags2 v0.7.1 [INFO] [stderr] Checking tracing v0.1.26 [INFO] [stderr] Checking tracing-error v0.1.2 [INFO] [stderr] Checking pin-project v1.0.7 [INFO] [stderr] Checking futures-executor v0.3.15 [INFO] [stderr] Checking futures v0.3.15 [INFO] [stderr] Checking hyper v0.14.8 [INFO] [stderr] Checking tokio-stream v0.1.6 [INFO] [stderr] Checking serde_yaml v0.8.17 [INFO] [stderr] Checking cfn-guard v2.0.3 (/opt/rustwide/workdir/guard) [INFO] [stderr] Checking lambda_runtime v0.3.0 [INFO] [stdout] warning: unused import: `WhenConditions` [INFO] [stdout] --> guard/src/rules/evaluate.rs:9:114 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::rules::exprs::{GuardClause, GuardNamedRuleClause, QueryPart, RuleClause, TypeBlock, BlockGuardClause, WhenConditions, WhenGuar... [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> guard/src/rules/evaluate.rs:684:12 [INFO] [stdout] | [INFO] [stdout] 684 | Ok('outer: loop { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Write` [INFO] [stdout] --> guard/src/rules/path_value.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fmt::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ALPHABETICAL` and `LAST_MODIFIED` [INFO] [stdout] --> guard/src/commands/validate.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::commands::{ALPHABETICAL, LAST_MODIFIED}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regular_ordering` [INFO] [stdout] --> guard/src/commands/validate.rs:12:83 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::commands::files::{alpabetical, get_files, iterate_over, last_modified, regular_ordering}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::*` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Serialize` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::Serialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `path_value` [INFO] [stdout] --> guard/src/commands/validate/common.rs:5:36 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::rules::{EvaluationType, path_value, Status}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::rules::path_value::Path` [INFO] [stdout] --> guard/src/commands/validate/common.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::rules::path_value::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::*` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorKind` and `Error` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::rules::errors::{Error, ErrorKind}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::Ref` [INFO] [stdout] --> guard/src/commands/tracker.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cell::Ref; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `QueryPart` [INFO] [stdout] --> guard/src/commands/aws_meta_appender.rs:3:27 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::rules::exprs::{QueryPart, AccessQuery}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> guard/src/migrate/parser.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WhenConditions` [INFO] [stdout] --> guard/src/rules/evaluate.rs:9:114 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::rules::exprs::{GuardClause, GuardNamedRuleClause, QueryPart, RuleClause, TypeBlock, BlockGuardClause, WhenConditions, WhenGuar... [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused label [INFO] [stdout] --> guard/src/rules/evaluate.rs:684:12 [INFO] [stdout] | [INFO] [stdout] 684 | Ok('outer: loop { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_labels)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2087:23 [INFO] [stdout] | [INFO] [stdout] 2087 | struct Reporter {}; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2152:60 [INFO] [stdout] | [INFO] [stdout] 2152 | struct Reporter<'a> { root: &'a dyn EvaluationContext }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> guard/src/rules/values_tests.rs:124:6 [INFO] [stdout] | [INFO] [stdout] 124 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> guard/src/rules/values_tests.rs:217:27 [INFO] [stdout] | [INFO] [stdout] 217 | struct DummyResolver{}; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::Write` [INFO] [stdout] --> guard/src/rules/path_value.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fmt::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ALPHABETICAL` and `LAST_MODIFIED` [INFO] [stdout] --> guard/src/commands/validate.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::commands::{ALPHABETICAL, LAST_MODIFIED}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regular_ordering` [INFO] [stdout] --> guard/src/commands/validate.rs:12:83 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::commands::files::{alpabetical, get_files, iterate_over, last_modified, regular_ordering}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::*` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde::Serialize` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use serde::Serialize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Itertools` [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use itertools::Itertools; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `path_value` [INFO] [stdout] --> guard/src/commands/validate/common.rs:5:36 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::rules::{EvaluationType, path_value, Status}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::rules::path_value::Path` [INFO] [stdout] --> guard/src/commands/validate/common.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::rules::path_value::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::*` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrorKind` and `Error` [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::rules::errors::{Error, ErrorKind}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::Ref` [INFO] [stdout] --> guard/src/commands/tracker.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::cell::Ref; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `QueryPart` [INFO] [stdout] --> guard/src/commands/aws_meta_appender.rs:3:27 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::rules::exprs::{QueryPart, AccessQuery}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::super::common_test_helpers::DummyEval` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::super::common_test_helpers::DummyEval; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:40:22 [INFO] [stdout] | [INFO] [stdout] 40 | struct Capture {}; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> guard/src/migrate/parser.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::rules::values::Value::Bool` [INFO] [stdout] --> guard/src/migrate/parser_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::rules::values::Value::Bool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> guard/src/commands/validate.rs:45:28 [INFO] [stdout] | [INFO] [stdout] 45 | writer: &mut Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 | writer: &mut dyn Write, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> guard/src/commands/validate.rs:45:28 [INFO] [stdout] | [INFO] [stdout] 45 | writer: &mut Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 | writer: &mut dyn Write, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::Colorize` [INFO] [stdout] --> guard/src/rules/evaluate.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use colored::Colorize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BitFlag` [INFO] [stdout] --> guard/src/commands/validate.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 21 | use enumflags2::{BitFlag, BitFlags}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BitFlag` [INFO] [stdout] --> guard/src/commands/validate.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 21 | use enumflags2::{BitFlag, BitFlags}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable` [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2089:36 [INFO] [stdout] | [INFO] [stdout] 2089 | fn resolve_variable(&self, variable: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rule_name` [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2093:31 [INFO] [stdout] | [INFO] [stdout] 2093 | fn rule_status(&self, rule_name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rule_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2097:61 [INFO] [stdout] | [INFO] [stdout] 2097 | ... eval_type: EvaluationType, context: &str, msg: String, from: Option, to: Option, status: Option guard/src/rules/evaluate_tests.rs:2117:36 [INFO] [stdout] | [INFO] [stdout] 2117 | fn start_evaluation(&self, eval_type: EvaluationType, context: &str) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eval_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:2117:63 [INFO] [stdout] | [INFO] [stdout] 2117 | fn start_evaluation(&self, eval_type: EvaluationType, context: &str) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `longest_rule_len` [INFO] [stdout] --> guard/src/commands/validate/common.rs:86:41 [INFO] [stdout] | [INFO] [stdout] 86 | skipped: HashSet, longest_rule_len: usize) -> crate::rules::Result<()> [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_longest_rule_len` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `longest_rule_len` [INFO] [stdout] --> guard/src/commands/validate/common.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | longest_rule_len: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_longest_rule_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rules` is never read [INFO] [stdout] --> guard/src/rules/evaluate.rs:936:5 [INFO] [stdout] | [INFO] [stdout] 935 | pub(crate) struct RootScope<'s, 'loc> { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 936 | rules: &'s RulesFile<'loc>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RootScope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `block_type` is never read [INFO] [stdout] --> guard/src/rules/evaluate.rs:1034:5 [INFO] [stdout] | [INFO] [stdout] 1033 | pub(crate) struct BlockScope<'s, T> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 1034 | block_type: &'s Block<'s, T>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `comparison` is never used [INFO] [stdout] --> guard/src/rules/evaluate.rs:1151:19 [INFO] [stdout] | [INFO] [stdout] 1129 | impl<'s> AutoReport<'s> { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1151 | pub(super) fn comparison(&mut self, status: Status, from: Option, to: Option, cmp: (CmpOperator, bool... [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `context`, `span`, and `kind` are never used [INFO] [stdout] --> guard/src/rules/parser.rs:46:19 [INFO] [stdout] | [INFO] [stdout] 45 | impl<'a> ParserError<'a> { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 46 | pub(crate) fn context(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub(crate) fn span(&self) -> &Span<'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub(crate) fn kind(&self) -> nom::error::ErrorKind { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> guard/src/rules/parser.rs:1532:43 [INFO] [stdout] | [INFO] [stdout] 1532 | pub(crate) struct ConjunctionsWrapper<'a>(pub(crate) Conjunctions>); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_unary` and `is_binary` are never used [INFO] [stdout] --> guard/src/rules/values.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 30 | impl CmpOperator { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 31 | pub(crate) fn is_unary(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub(crate) fn is_binary(&self) -> bool { !self.is_unary() } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_linked_hashmap` is never used [INFO] [stdout] --> guard/src/rules/values.rs:309:15 [INFO] [stdout] | [INFO] [stdout] 309 | pub(super) fn make_linked_hashmap<'a, I>(values: I) -> IndexMap [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `drop_last` and `extend_with_value` are never used [INFO] [stdout] --> guard/src/rules/path_value.rs:92:19 [INFO] [stdout] | [INFO] [stdout] 75 | impl Path { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 92 | pub(crate) fn drop_last(&mut self) -> &mut Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub(crate) fn extend_with_value(&self, part: &Value) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_scalar` is never used [INFO] [stdout] --> guard/src/rules/path_value.rs:675:19 [INFO] [stdout] | [INFO] [stdout] 634 | impl PathAwareValue { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 675 | pub(crate) fn is_scalar(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ALPHABETICAL` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) const ALPHABETICAL: (&str, &str) = ("alphabetical", "a"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LAST_MODIFIED` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) const LAST_MODIFIED: (&str, &str) = ("last-modified", "l"); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RULES` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub(crate) const RULES: (&str, &str) = ("rules", "r"); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 19 | pub(crate) const DATA: (&str, &str) = ("data", "d"); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_file_content` is never used [INFO] [stdout] --> guard/src/commands/files.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) fn read_file_content(file: File) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_files` is never used [INFO] [stdout] --> guard/src/commands/files.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) fn get_files(file: &str, sort: F) -> Result, Error> [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_files_with_filter` is never used [INFO] [stdout] --> guard/src/commands/files.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) fn get_files_with_filter(file: &str, sort: S, filter: F) -> Result, Error> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Iter` is never constructed [INFO] [stdout] --> guard/src/commands/files.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | pub(crate) struct Iter<'i, T, C> [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `iterate_over` is never used [INFO] [stdout] --> guard/src/commands/files.rs:95:15 [INFO] [stdout] | [INFO] [stdout] 95 | pub(crate) fn iterate_over(files: &[PathBuf], converter: C) -> Iter [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `alpabetical` is never used [INFO] [stdout] --> guard/src/commands/files.rs:103:15 [INFO] [stdout] | [INFO] [stdout] 103 | pub(crate) fn alpabetical(first : &walkdir::DirEntry, second: &walkdir::DirEntry) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `last_modified` is never used [INFO] [stdout] --> guard/src/commands/files.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | pub(crate) fn last_modified(first: &walkdir::DirEntry, second: &walkdir::DirEntry) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `regular_ordering` is never used [INFO] [stdout] --> guard/src/commands/files.rs:120:15 [INFO] [stdout] | [INFO] [stdout] 120 | pub(crate) fn regular_ordering(_first: &walkdir::DirEntry, _second: &walkdir::DirEntry) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Type` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:31:17 [INFO] [stdout] | [INFO] [stdout] 31 | pub(crate) enum Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OutputFormatType` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) enum OutputFormatType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `report` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub(crate) trait Reporter : Debug { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 44 | fn report(&self, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Validate` is never constructed [INFO] [stdout] --> guard/src/commands/validate.rs:54:19 [INFO] [stdout] | [INFO] [stdout] 54 | pub(crate) struct Validate {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:57:19 [INFO] [stdout] | [INFO] [stdout] 56 | impl Validate { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 57 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_and_return_json` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn validate_and_return_json( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `reporters`, `rules_file_name`, `data_file_name`, `verbose`, `print_json`, and `show_clause_failures` are never read [INFO] [stdout] --> guard/src/commands/validate.rs:272:5 [INFO] [stdout] | [INFO] [stdout] 270 | pub(crate) struct ConsoleReporter<'r> { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 271 | root_context: StackTracker<'r>, [INFO] [stdout] 272 | reporters: &'r Vec>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 273 | rules_file_name: &'r str, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 274 | data_file_name: &'r str, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 275 | verbose: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 276 | print_json: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 277 | show_clause_failures: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConsoleReporter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `indent_spaces` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:280:4 [INFO] [stdout] | [INFO] [stdout] 280 | fn indent_spaces(indent: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_context` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:286:15 [INFO] [stdout] | [INFO] [stdout] 286 | pub(super) fn print_context(cxt: &StatusContext, depth: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_failing_clause` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:323:4 [INFO] [stdout] | [INFO] [stdout] 323 | fn print_failing_clause(rules_file_name: &str, rule: &StatusContext, longest: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `report` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:381:8 [INFO] [stdout] | [INFO] [stdout] 362 | impl<'r, 'loc> ConsoleReporter<'r> { [INFO] [stdout] | ---------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 381 | fn report(self) -> crate::rules::Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INDENT` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:434:7 [INFO] [stdout] | [INFO] [stdout] 434 | const INDENT: &str = " "; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate_against_data_input` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:464:4 [INFO] [stdout] | [INFO] [stdout] 464 | fn evaluate_against_data_input<'r>(data_type: Type, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenericSummary` is never constructed [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) struct GenericSummary<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 24 | impl<'a> GenericSummary<'a> { [INFO] [stdout] | --------------------------- associated function in this implementation [INFO] [stdout] 25 | pub(crate) fn new<'r>(data_file_name: &'r str, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SingleLineSummary` is never constructed [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | struct SingleLineSummary{} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `retrieval_error_message` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn retrieval_error_message(rules_file: &str, data_file: &str, info: &NameInfo<'_>) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unary_error_message` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn unary_error_message(rules_file: &str, data_file: &str, op_msg: &str, info: &NameInfo<'_>) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `binary_error_message` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn binary_error_message(rules_file: &str, data_file: &str, op_msg: &str, info: &NameInfo<'_>) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NameInfo` is never constructed [INFO] [stdout] --> guard/src/commands/validate/common.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 31 | pub(super) struct NameInfo<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `GenericReporter` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:40:18 [INFO] [stdout] | [INFO] [stdout] 40 | pub(super) trait GenericReporter: Debug { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StructureType` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | pub(super) enum StructureType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StructuredSummary` is never constructed [INFO] [stdout] --> guard/src/commands/validate/common.rs:58:19 [INFO] [stdout] | [INFO] [stdout] 58 | pub(super) struct StructuredSummary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:63:19 [INFO] [stdout] | [INFO] [stdout] 62 | impl StructuredSummary { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 63 | pub(super) fn new(hierarchy_type: StructureType) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DataOutput` is never constructed [INFO] [stdout] --> guard/src/commands/validate/common.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | struct DataOutput<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_name_info` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | pub(super) fn extract_name_info<'a>(rule_name: &'a str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `colored_string` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:162:15 [INFO] [stdout] | [INFO] [stdout] 162 | pub(super) fn colored_string(status: Option) -> ColoredString { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_all_failing_clauses` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:174:15 [INFO] [stdout] | [INFO] [stdout] 174 | pub(super) fn find_all_failing_clauses(context: &StatusContext) -> Vec<&StatusContext> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_compliant_skipped_info` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:199:15 [INFO] [stdout] | [INFO] [stdout] 199 | pub(super) fn print_compliant_skipped_info(writer: &mut dyn Write, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_name_info` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:219:15 [INFO] [stdout] | [INFO] [stdout] 219 | pub(super) fn print_name_info( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SummaryTable` is never constructed [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 21 | pub(super) struct SummaryTable<'r> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:28:19 [INFO] [stdout] | [INFO] [stdout] 27 | impl<'a> SummaryTable<'a> { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] 28 | pub(crate) fn new<'r>(rules_file_name: &'r str, data_file_name: &'r str, summary_type: BitFlags) -> SummaryTable<'r> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_partition` is never used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn print_partition(writer: &mut dyn Write, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CfnReporter` is never constructed [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:23:19 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) struct CfnReporter<'a> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 30 | impl<'a> CfnReporter<'a> { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 31 | pub(crate) fn new<'r>(data_file_name: &'r str, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SingleLineReporter` is never constructed [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | struct SingleLineReporter {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rulegen` is never constructed [INFO] [stdout] --> guard/src/commands/rulegen.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | pub(crate) struct Rulegen {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/rulegen.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 16 | impl Rulegen { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 17 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_template_and_call_gen` is never used [INFO] [stdout] --> guard/src/commands/rulegen.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn parse_template_and_call_gen(template_contents: &str) -> HashMap>>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `gen_rules` is never used [INFO] [stdout] --> guard/src/commands/rulegen.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn gen_rules(cfn_resources: HashMap) -> HashMap>> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_rules` is never used [INFO] [stdout] --> guard/src/commands/rulegen.rs:172:4 [INFO] [stdout] | [INFO] [stdout] 172 | fn print_rules(rule_map : HashMap>>, mut writer : Box) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Test` is never constructed [INFO] [stdout] --> guard/src/commands/test.rs:23:19 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) struct Test {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/test.rs:26:19 [INFO] [stdout] | [INFO] [stdout] 25 | impl Test { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 26 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_with_data` is never used [INFO] [stdout] --> guard/src/commands/test.rs:118:4 [INFO] [stdout] | [INFO] [stdout] 118 | fn test_with_data(test_data_files: &[PathBuf], rules: &RulesFile<'_>, verbose: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_test_case_report` is never used [INFO] [stdout] --> guard/src/commands/test.rs:188:16 [INFO] [stdout] | [INFO] [stdout] 188 | pub (crate) fn print_test_case_report(by_result: &HashMap>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParseTree` is never constructed [INFO] [stdout] --> guard/src/commands/parse_tree.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) struct ParseTree {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/parse_tree.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 9 | impl ParseTree { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 10 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Migrate` is never constructed [INFO] [stdout] --> guard/src/commands/migrate.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 24 | pub(crate) struct Migrate {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/migrate.rs:27:19 [INFO] [stdout] | [INFO] [stdout] 26 | impl Migrate { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 27 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `migrated_rules_by_type` is never used [INFO] [stdout] --> guard/src/commands/migrate.rs:87:15 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn migrated_rules_by_type(rules: &[RuleLineType], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `aggregate_by_type` is never used [INFO] [stdout] --> guard/src/commands/migrate.rs:110:15 [INFO] [stdout] | [INFO] [stdout] 110 | pub(crate) fn aggregate_by_type(rules: &Vec) -> HashMap> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_resource_types_in_ruleset` is never used [INFO] [stdout] --> guard/src/commands/migrate.rs:132:16 [INFO] [stdout] | [INFO] [stdout] 132 | pub (crate) fn get_resource_types_in_ruleset(rules: &Vec) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `migrate_rules` is never used [INFO] [stdout] --> guard/src/commands/migrate.rs:149:16 [INFO] [stdout] | [INFO] [stdout] 149 | pub (crate) fn migrate_rules(rules: Vec) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MetadataAppender` is never constructed [INFO] [stdout] --> guard/src/commands/aws_meta_appender.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | pub(super) struct MetadataAppender<'d> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DummyEval` is never constructed [INFO] [stdout] --> guard/src/commands/common_test_helpers.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | pub(super) struct DummyEval{} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Command` is never used [INFO] [stdout] --> guard/src/command.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | pub(crate) trait Command { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Value` and `VariableAccess` are never constructed [INFO] [stdout] --> guard/src/migrate/parser.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum OldGuardValues { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 22 | Value(Value), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | VariableAccess(String) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OldGuardValues` 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: struct `Assignment` is never constructed [INFO] [stdout] --> guard/src/migrate/parser.rs:44:19 [INFO] [stdout] | [INFO] [stdout] 44 | pub(crate) struct Assignment { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CmpOperator` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | pub(crate) enum CmpOperator { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PropertyComparison` is never constructed [INFO] [stdout] --> guard/src/migrate/parser.rs:82:19 [INFO] [stdout] | [INFO] [stdout] 82 | pub(crate) struct PropertyComparison { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BaseRule` is never constructed [INFO] [stdout] --> guard/src/migrate/parser.rs:109:19 [INFO] [stdout] | [INFO] [stdout] 109 | pub(crate) struct BaseRule { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConditionalRule` is never constructed [INFO] [stdout] --> guard/src/migrate/parser.rs:128:19 [INFO] [stdout] | [INFO] [stdout] 128 | pub(crate) struct ConditionalRule { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Rule` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:143:17 [INFO] [stdout] | [INFO] [stdout] 143 | pub(crate) enum Rule { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Clause` is never constructed [INFO] [stdout] --> guard/src/migrate/parser.rs:157:19 [INFO] [stdout] | [INFO] [stdout] 157 | pub(crate) struct Clause { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RuleLineType` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 171 | pub(crate) enum RuleLineType { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_variable_dereference` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:195:16 [INFO] [stdout] | [INFO] [stdout] 195 | pub (crate) fn parse_variable_dereference(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_complete_value` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:202:27 [INFO] [stdout] | [INFO] [stdout] 202 | pub(in crate::migrate) fn parse_complete_value(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `comment` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:216:27 [INFO] [stdout] | [INFO] [stdout] 216 | pub(in crate::migrate) fn comment(input: Span) ->IResult { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_old_guard_value` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:222:28 [INFO] [stdout] | [INFO] [stdout] 222 | pub (in crate::migrate) fn parse_old_guard_value(input:Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assignment` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:240:15 [INFO] [stdout] | [INFO] [stdout] 240 | pub(crate) fn assignment(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `value_operator` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:267:27 [INFO] [stdout] | [INFO] [stdout] 267 | pub(in crate::migrate) fn value_operator(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `property_path` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:290:27 [INFO] [stdout] | [INFO] [stdout] 290 | pub(in crate::migrate) fn property_path(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `property_comparison` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:297:27 [INFO] [stdout] | [INFO] [stdout] 297 | pub(in crate::migrate) fn property_comparison(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `base_rule` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:315:27 [INFO] [stdout] | [INFO] [stdout] 315 | pub(in crate::migrate) fn base_rule(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `conditional_rule` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:339:27 [INFO] [stdout] | [INFO] [stdout] 339 | pub(in crate::migrate) fn conditional_rule(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `custom_message` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:361:27 [INFO] [stdout] | [INFO] [stdout] 361 | pub(in crate::migrate) fn custom_message(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rule` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:368:27 [INFO] [stdout] | [INFO] [stdout] 368 | pub(in crate::migrate) fn rule(input: Span) -> IResult { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clause` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:381:27 [INFO] [stdout] | [INFO] [stdout] 381 | pub(in crate::migrate) fn clause(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `empty_line` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:388:27 [INFO] [stdout] | [INFO] [stdout] 388 | pub(in crate::migrate) fn empty_line(input: Span) -> IResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rule_line` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:394:27 [INFO] [stdout] | [INFO] [stdout] 394 | pub(in crate::migrate) fn rule_line(input: Span) ->IResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_rules_file` is never used [INFO] [stdout] --> guard/src/migrate/parser.rs:408:15 [INFO] [stdout] | [INFO] [stdout] 408 | pub(crate) fn parse_rules_file(input: &String, file_name: &String) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe [INFO] [stdout] --> guard/src/lib.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | data: &str, [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider using `*const u8` and a length instead [INFO] [stdout] = note: string slices have no C equivalent [INFO] [stdout] = note: `#[warn(improper_ctypes_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe [INFO] [stdout] --> guard/src/lib.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | rules: &str, [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider using `*const u8` and a length instead [INFO] [stdout] = note: string slices have no C equivalent [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `std::result::Result`, which is not FFI-safe [INFO] [stdout] --> guard/src/lib.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | ) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum [INFO] [stdout] = note: enum has no representation hint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/errors.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 125 | fn from(err: serde_json::Error) -> Self { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 126 | Error(ErrorKind::JsonError(err)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/errors.rs:132:15 [INFO] [stdout] | [INFO] [stdout] 131 | fn from(err: serde_yaml::Error) -> Self { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 132 | Error(ErrorKind::YamlError(err)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/errors.rs:139:20 [INFO] [stdout] | [INFO] [stdout] 138 | fn from(err: std::io::Error) -> Error { [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 139 | Error::new(ErrorKind::IoError(err)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/evaluate.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 72 | fn compare_loop_all(lhs: &Vec<&PathAwareValue>, rhs: &Vec<&PathAwareValue>, compare: F, any_one_rhs: bool) [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 77 | let mut results = Vec::with_capacity(lhs.len()); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 102 | Ok((lhs_cmp, results)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/evaluate.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 105 | fn compare_loop(lhs: &Vec<&PathAwareValue>, rhs: &Vec<&PathAwareValue>, compare: F, any_one_rhs: bool, atleast_one: bool) [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 108 | let (overall, results) = compare_loop_all(lhs, rhs, compare, any_one_rhs)?; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 134 | Ok((overall, results)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/evaluate.rs:950:9 [INFO] [stdout] | [INFO] [stdout] 950 | / extract_variables(&rules.assignments, [INFO] [stdout] 951 | | &mut literals, [INFO] [stdout] 952 | | &mut pending); [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 950 | let _ = extract_variables(&rules.assignments, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/evaluate.rs:1046:9 [INFO] [stdout] | [INFO] [stdout] 1046 | / extract_variables(&block_type.assignments, [INFO] [stdout] 1047 | | &mut literals, [INFO] [stdout] 1048 | | &mut pending); [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1046 | let _ = extract_variables(&block_type.assignments, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/exprs.rs:22:46 [INFO] [stdout] | [INFO] [stdout] 22 | #[derive(PartialEq, Debug, Clone, Serialize, Deserialize, Hash)] [INFO] [stdout] | ^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/exprs.rs:55:46 [INFO] [stdout] | [INFO] [stdout] 55 | #[derive(PartialEq, Debug, Clone, Serialize, Deserialize, Hash)] [INFO] [stdout] | ^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/exprs.rs:176:46 [INFO] [stdout] | [INFO] [stdout] 176 | #[derive(PartialEq, Debug, Clone, Serialize, Deserialize, Hash)] [INFO] [stdout] | ^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/exprs.rs:184:46 [INFO] [stdout] | [INFO] [stdout] 184 | #[derive(PartialEq, Debug, Clone, Serialize, Deserialize, Hash)] [INFO] [stdout] | ^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/exprs.rs:205:46 [INFO] [stdout] | [INFO] [stdout] 205 | #[derive(PartialEq, Debug, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:143:24 [INFO] [stdout] | [INFO] [stdout] 143 | move |input: Span| preceded(zero_or_more_ws_or_comment, char(ch))(input) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:174:5 [INFO] [stdout] | [INFO] [stdout] 168 | let negative = map_res(preceded(tag("-"), digit1), |s: Span| { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 171 | let positive = map_res(digit1, |s: Span| { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 174 | alt((positive, negative))(input) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:196:5 [INFO] [stdout] | [INFO] [stdout] 194 | let true_parser = value(Value::Bool(true), alt((tag("true"), tag("True")))); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 195 | let false_parser = value(Value::Bool(false), alt((tag("false"), tag("False")))); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 196 | alt((true_parser, false_parser))(input) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:288:8 [INFO] [stdout] | [INFO] [stdout] 252 | let parsed = preceded( [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 260 | let (open, (start, end), close) = parsed.1; [INFO] [stdout] | ----- --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 263 | let val = match (start, end) { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 288 | Ok((parsed.0, val)) [INFO] [stdout] | ^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:351:8 [INFO] [stdout] | [INFO] [stdout] 346 | let result = delimited( [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 351 | Ok(( [INFO] [stdout] | ________^ [INFO] [stdout] 352 | | result.0, [INFO] [stdout] 353 | | Value::Map( [INFO] [stdout] 354 | | result [INFO] [stdout] ... | [INFO] [stdout] 358 | | ), [INFO] [stdout] 359 | | )) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_____| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:679:8 [INFO] [stdout] | [INFO] [stdout] 676 | let (input, filters) = cnf_clauses( [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 679 | Ok((input, QueryPart::Filter(filters))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:743:8 [INFO] [stdout] | [INFO] [stdout] 738 | let (input, with) = cut(preceded(zero_or_more_ws_or_comment, alt(( [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 743 | Ok((input, QueryPart::MapKeyFilter(MapKeyFilterClause { [INFO] [stdout] | ________^ [INFO] [stdout] 744 | | comparator: cmp, [INFO] [stdout] 745 | | compare_with: with [INFO] [stdout] 746 | | }))) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_______| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:892:34 [INFO] [stdout] | [INFO] [stdout] 891 | ... move |(rhs, msg)| { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 892 | ... (Some(LetValue::Value(rhs)), msg.map(String::from).or(None)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:898:34 [INFO] [stdout] | [INFO] [stdout] 897 | ... |(rhs, msg)| { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 898 | ... (Some(LetValue::AccessClause(rhs)), msg.map(String::from).or(None)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:932:8 [INFO] [stdout] | [INFO] [stdout] 930 | let (input, query) = access(input)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 931 | let (input, (assignments, conjunctions)) = block(clause)(input)?; [INFO] [stdout] | ----------- ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 932 | Ok((input, GuardClause::BlockClause(BlockGuardClause { [INFO] [stdout] | ________^ [INFO] [stdout] 933 | | query, block: Block { [INFO] [stdout] 934 | | assignments, conjunctions, [INFO] [stdout] 935 | | }, [INFO] [stdout] 936 | | location [INFO] [stdout] 937 | | }))) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_______these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:961:47 [INFO] [stdout] | [INFO] [stdout] 960 | when_block(single_clauses, clause, |conds, (assigns, cls)| { [INFO] [stdout] | ----- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 961 | GuardClause::WhenBlock(conds, Block { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 962 | | assignments: assigns, [INFO] [stdout] 963 | | conjunctions: cls [INFO] [stdout] 964 | | }) [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1216:9 [INFO] [stdout] | [INFO] [stdout] 1203 | fn when_conditions<'loc, P>(condition_parser: P) -> impl Fn(Span<'loc>) -> IResult, Conjunctions>> [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1216 | / cut( [INFO] [stdout] 1217 | | // [INFO] [stdout] 1218 | | // when keyword must be followed by a space and then clauses. Fail if that [INFO] [stdout] 1219 | | // is not the case [INFO] [stdout] ... | [INFO] [stdout] 1222 | | one_or_more_ws_or_comment, [INFO] [stdout] 1223 | | |s| condition_parser(s)))(input) [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1268:12 [INFO] [stdout] | [INFO] [stdout] 1227 | fn block<'loc, T, P>(clause_parser: P) -> impl Fn(Span<'loc>) -> IResult, (Vec>, Conjunctions)> [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1235 | let mut conjunctions: Conjunctions = Conjunctions::new(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1236 | let (input, results) = [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1251 | let mut assignments = vec![]; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1268 | Ok((input, (assignments, conjunctions))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1239:80 [INFO] [stdout] | [INFO] [stdout] 1239 | map(preceded(zero_or_more_ws_or_comment, assignment), |s| (Some(s), None)), [INFO] [stdout] | - ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1239:89 [INFO] [stdout] | [INFO] [stdout] 1239 | map(preceded(zero_or_more_ws_or_comment, assignment), |s| (Some(s), None)), [INFO] [stdout] | - ^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1242:47 [INFO] [stdout] | [INFO] [stdout] 1242 | |c: Disjunctions| (None, Some(c))) [INFO] [stdout] | ------------------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1242:53 [INFO] [stdout] | [INFO] [stdout] 1242 | |c: Disjunctions| (None, Some(c))) [INFO] [stdout] | ------------------ ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1329:8 [INFO] [stdout] | [INFO] [stdout] 1309 | let (input, when_conditions) = opt( [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1312 | let (input, (assignments, clauses)) = [INFO] [stdout] | ----------- ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1317 | Ok((input, result)) => (input, result), [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1318 | Err(nom::Err::Error(_)) => { [INFO] [stdout] 1319 | let (input, conjs) = cut(preceded( [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1329 | Ok((input, TypeBlock { [INFO] [stdout] | ________^ [INFO] [stdout] 1330 | | conditions: when_conditions, [INFO] [stdout] 1331 | | type_name: format!("{}", name.type_name), [INFO] [stdout] 1332 | | block: Block { [INFO] [stdout] ... | [INFO] [stdout] 1335 | | } [INFO] [stdout] 1336 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |______these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1347:9 [INFO] [stdout] | [INFO] [stdout] 1339 | fn when_block<'loc, C, B, M, T, R>(conditions: C, block_fn: B, mapper: M) -> impl Fn(Span<'loc>) -> IResult, R> [INFO] [stdout] | ---------- -------- ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1347 | / map(preceded(zero_or_more_ws_or_comment, [INFO] [stdout] 1348 | | pair( [INFO] [stdout] 1349 | | when_conditions(|p| conditions(p)), [INFO] [stdout] 1350 | | block(|p| block_fn(p)) [INFO] [stdout] 1351 | | )), |(w, b)| mapper(w, b))(input) [INFO] [stdout] | |_______________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1364:51 [INFO] [stdout] | [INFO] [stdout] 1363 | |(conditions, block)| { [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1364 | RuleClause::WhenBlock(conditions, Block{ assignments: block.0, conjunctions: block.1 }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1385:8 [INFO] [stdout] | [INFO] [stdout] 1381 | let (input, conditions) = opt(when_conditions(single_clauses))(input)?; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1382 | let (input, (assignments, conjunctions)) = [INFO] [stdout] | ----------- ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1385 | Ok((input, Rule { [INFO] [stdout] | ________^ [INFO] [stdout] 1386 | | rule_name, [INFO] [stdout] 1387 | | conditions, [INFO] [stdout] 1388 | | block: Block { [INFO] [stdout] ... | [INFO] [stdout] 1391 | | } [INFO] [stdout] 1392 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |______these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1398:8 [INFO] [stdout] | [INFO] [stdout] 1396 | let (input, disjunctions) = disjunction_clauses( [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1397 | input, clause, true)?; [INFO] [stdout] 1398 | Ok((input, disjunctions)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1405:8 [INFO] [stdout] | [INFO] [stdout] 1403 | let (input, disjunctions) = disjunction_clauses( [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1404 | input, type_block, true)?; [INFO] [stdout] 1405 | Ok((input, disjunctions)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1412:9 [INFO] [stdout] | [INFO] [stdout] 1408 | fn remove_whitespace_comments<'loc, P, R>(parser: P) -> impl Fn(Span<'loc>) -> IResult, R> [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1412 | / delimited( [INFO] [stdout] 1413 | | zero_or_more_ws_or_comment, [INFO] [stdout] 1414 | | |s| parser(s), [INFO] [stdout] 1415 | | zero_or_more_ws_or_comment [INFO] [stdout] 1416 | | )(input) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1477:8 [INFO] [stdout] | [INFO] [stdout] 1433 | let exprs = all_consuming(fold_many1( [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1451 | let mut global_assignments = Vec::with_capacity(exprs.len()); [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1452 | let mut default_rule_clauses = Vec::with_capacity(exprs.len()); [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1453 | let mut named_rules = Vec::with_capacity(exprs.len()); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1477 | Ok(RulesFile { [INFO] [stdout] | ________^ [INFO] [stdout] 1478 | | assignments: global_assignments, [INFO] [stdout] 1479 | | guard_rules: named_rules [INFO] [stdout] 1480 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_____| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1440:48 [INFO] [stdout] | [INFO] [stdout] 1439 | when_block(single_clauses, alt((clause, rule_clause)), |c, b| [INFO] [stdout] | - - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1440 | Exprs::DefaultWhenBlock(c, Block { assignments: b.0, conjunctions: b.1 })), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/values.rs:14:46 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(PartialEq, Debug, Clone, Serialize, Deserialize, Hash, Copy)] [INFO] [stdout] | ^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/values.rs:64:46 [INFO] [stdout] | [INFO] [stdout] 64 | #[derive(PartialEq, Debug, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/values.rs:155:17 [INFO] [stdout] | [INFO] [stdout] 155 | write!(f, "{},{}", range.lower, range.upper); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/values.rs:313:5 [INFO] [stdout] | [INFO] [stdout] 309 | pub(super) fn make_linked_hashmap<'a, I>(values: I) -> IndexMap [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 313 | values.into_iter().map(|(s, v)| (s.to_owned(), v)).collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/commands/files.rs:91:14 [INFO] [stdout] | [INFO] [stdout] 83 | let file = match File::open(next) { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 84 | Ok(file) => file, [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 85 | Err(e) => return Some(Err(Error::from(e))), [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 89 | Err(e) => return Some(Err(Error::from(e))), [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 90 | }; [INFO] [stdout] 91 | Some((self.converter)(content, next)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | reader.read_to_string(&mut context); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | let _ = reader.read_to_string(&mut context); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/commands/validate.rs:249:11 [INFO] [stdout] | [INFO] [stdout] 242 | let input_data = match serde_json::from_str::(&data) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 243 | Ok(value) => PathAwareValue::try_from(value), [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 244 | Err(e) => return Err(Error::new(ErrorKind::ParseError(e.to_string()))), [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | match crate::rules::parser::rules_file(span) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/commands/validate.rs:474:15 [INFO] [stdout] | [INFO] [stdout] 474 | match serde_json::from_str::(content) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | writeln!(writer, "--"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/common.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | / match &self.hierarchy_type { [INFO] [stdout] 97 | | StructureType::JSON => writeln!(writer, "{}", serde_json::to_string(&value)?), [INFO] [stdout] 98 | | StructureType::YAML => writeln!(writer, "{}", serde_yaml::to_string(&value)?), [INFO] [stdout] 99 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 96 | let _ = match &self.hierarchy_type { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | writeln!(writer, "{}", "SKIP rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | writeln!(writer, "{}", "PASS rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | writeln!(writer, "{}", "FAILED rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | writeln!(writer, "--"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/commands/rulegen.rs:197:11 [INFO] [stdout] | [INFO] [stdout] 172 | fn print_rules(rule_map : HashMap>>, mut writer : Box) { [INFO] [stdout] | ------------------------------------------------------------ ------------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 197 | match crate::rules::parser::rules_file(span) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/rulegen.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | write!(writer,"{}", generated_rules); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/commands/helper.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 16 | let input_data = match serde_json::from_str::(&data) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 17 | Ok(value) => PathAwareValue::try_from(value), [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 18 | Err(e) => return Err(Error::new(ErrorKind::ParseError(e.to_string()))), [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 23 | match crate::rules::parser::rules_file(span) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/commands/migrate.rs:56:15 [INFO] [stdout] | [INFO] [stdout] 50 | let file = File::open(file_input)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 51 | [INFO] [stdout] 52 | let mut out= match app.value_of("output") { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 56 | match read_file_content(file) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | writeln!(&mut migrated, "{}", assignment); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | writeln!(&mut migrated, "let {} = Resources.*[ Type == \"{}\" ]", each_type, each_type.type_name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | writeln!(&mut migrated, "rule {name}_checks WHEN %{name} NOT EMPTY {{", name=each_type); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | writeln!(&mut migrated, " %{} {{", each_type); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | writeln!(&mut migrated, " {}", *each_clause); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | writeln!(&mut migrated, " }}\n}}\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `query:` in this pattern is redundant [INFO] [stdout] --> guard/src/commands/aws_meta_appender.rs:42:59 [INFO] [stdout] | [INFO] [stdout] 42 | ... let AccessQuery { query: query, match_all: all } = [INFO] [stdout] | ^^^^^^^^^^^^ help: use shorthand field pattern: `query` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_shorthand_field_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/migrate/parser.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | writeln!(f, "when {} {{", self.when_condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/migrate/parser.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | writeln!(f, " {}", self.check_condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser.rs:260:8 [INFO] [stdout] | [INFO] [stdout] 259 | let (remaining, value) = parse_old_guard_value(input)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 260 | Ok((remaining, Assignment{ [INFO] [stdout] | ________^ [INFO] [stdout] 261 | | value, [INFO] [stdout] 262 | | var_name [INFO] [stdout] 263 | | })) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |______| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser.rs:305:8 [INFO] [stdout] | [INFO] [stdout] 304 | let (remaining, comparison_value) = cut(preceded(space1, parse_old_guard_value))(remaining_for_value)?; [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 305 | Ok((remaining, PropertyComparison{ [INFO] [stdout] | ________^ [INFO] [stdout] 306 | | property_path, [INFO] [stdout] 307 | | operator, [INFO] [stdout] 308 | | comparison_value [INFO] [stdout] 309 | | })) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |______| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser.rs:352:8 [INFO] [stdout] | [INFO] [stdout] 348 | let (_property_check_remainder, when_condition) = terminated(property_comparison, space0)(property_comparison_span)?; [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 351 | let (remainder, check_condition) = preceded(tag("CHECK"), property_comparison)(input)?; [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 352 | Ok((remainder, ConditionalRule{ [INFO] [stdout] | ________^ [INFO] [stdout] 353 | | type_name, [INFO] [stdout] 354 | | when_condition, [INFO] [stdout] 355 | | check_condition [INFO] [stdout] 356 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |______these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser.rs:383:8 [INFO] [stdout] | [INFO] [stdout] 382 | let (remaining_for_message, rules) = separated_nonempty_list(preceded(space0, tag("|OR|")), rule )(input)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 383 | Ok((remaining_for_message, Clause { rules })) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser.rs:401:8 [INFO] [stdout] | [INFO] [stdout] 395 | let (remainder, rule_line) = alt(( [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 401 | Ok((remainder, rule_line)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 50 previous errors; 146 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `cfn-guard` (lib) due to 51 previous errors; 146 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `clause` [INFO] [stdout] --> guard/src/rules/parser_tests.rs:4121:17 [INFO] [stdout] | [INFO] [stdout] 4121 | let (_span, clause) = rule_block_clause(from_str2(when_inside_when))?; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_clause` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `longest_rule_len` [INFO] [stdout] --> guard/src/commands/validate/common.rs:86:41 [INFO] [stdout] | [INFO] [stdout] 86 | skipped: HashSet, longest_rule_len: usize) -> crate::rules::Result<()> [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_longest_rule_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `longest_rule_len` [INFO] [stdout] --> guard/src/commands/validate/common.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | longest_rule_len: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_longest_rule_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:42:36 [INFO] [stdout] | [INFO] [stdout] 42 | fn resolve_variable(&self, variable: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rule_name` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:46:31 [INFO] [stdout] | [INFO] [stdout] 46 | fn rule_status(&self, rule_name: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rule_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `eval_type` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:50:34 [INFO] [stdout] | [INFO] [stdout] 50 | ... fn end_evaluation(&self, eval_type: EvaluationType, context: &str, msg: String, from: Option, to: Option guard/src/commands/aws_meta_appender_tests.rs:50:61 [INFO] [stdout] | [INFO] [stdout] 50 | ... eval_type: EvaluationType, context: &str, msg: String, from: Option, to: Option, status: Option guard/src/commands/aws_meta_appender_tests.rs:50:89 [INFO] [stdout] | [INFO] [stdout] 50 | ...e, context: &str, msg: String, from: Option, to: Option, status: Option, _cmp: Option<(CmpOper... [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:50:119 [INFO] [stdout] | [INFO] [stdout] 50 | ...g, from: Option, to: Option, status: Option, _cmp: Option<(CmpOperator, bool)>) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:50:147 [INFO] [stdout] | [INFO] [stdout] 50 | ... to: Option, status: Option, _cmp: Option<(CmpOperator, bool)>) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `eval_type` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:57:36 [INFO] [stdout] | [INFO] [stdout] 57 | fn start_evaluation(&self, eval_type: EvaluationType, context: &str) { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_eval_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> guard/src/commands/aws_meta_appender_tests.rs:57:63 [INFO] [stdout] | [INFO] [stdout] 57 | fn start_evaluation(&self, eval_type: EvaluationType, context: &str) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rules` is never read [INFO] [stdout] --> guard/src/rules/evaluate.rs:936:5 [INFO] [stdout] | [INFO] [stdout] 935 | pub(crate) struct RootScope<'s, 'loc> { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 936 | rules: &'s RulesFile<'loc>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RootScope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `block_type` is never read [INFO] [stdout] --> guard/src/rules/evaluate.rs:1034:5 [INFO] [stdout] | [INFO] [stdout] 1033 | pub(crate) struct BlockScope<'s, T> { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 1034 | block_type: &'s Block<'s, T>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `comparison` is never used [INFO] [stdout] --> guard/src/rules/evaluate.rs:1151:19 [INFO] [stdout] | [INFO] [stdout] 1129 | impl<'s> AutoReport<'s> { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1151 | pub(super) fn comparison(&mut self, status: Status, from: Option, to: Option, cmp: (CmpOperator, bool... [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VariableResolver` is never constructed [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:884:8 [INFO] [stdout] | [INFO] [stdout] 884 | struct VariableResolver<'a, 'b>(&'a dyn EvaluationContext, HashMap>); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `context`, `span`, and `kind` are never used [INFO] [stdout] --> guard/src/rules/parser.rs:46:19 [INFO] [stdout] | [INFO] [stdout] 45 | impl<'a> ParserError<'a> { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 46 | pub(crate) fn context(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub(crate) fn span(&self) -> &Span<'a> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub(crate) fn kind(&self) -> nom::error::ErrorKind { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> guard/src/rules/parser.rs:1532:43 [INFO] [stdout] | [INFO] [stdout] 1532 | pub(crate) struct ConjunctionsWrapper<'a>(pub(crate) Conjunctions>); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_unary` and `is_binary` are never used [INFO] [stdout] --> guard/src/rules/values.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 30 | impl CmpOperator { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 31 | pub(crate) fn is_unary(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub(crate) fn is_binary(&self) -> bool { !self.is_unary() } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `drop_last` and `extend_with_value` are never used [INFO] [stdout] --> guard/src/rules/path_value.rs:92:19 [INFO] [stdout] | [INFO] [stdout] 75 | impl Path { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 92 | pub(crate) fn drop_last(&mut self) -> &mut Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub(crate) fn extend_with_value(&self, part: &Value) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_scalar` is never used [INFO] [stdout] --> guard/src/rules/path_value.rs:675:19 [INFO] [stdout] | [INFO] [stdout] 634 | impl PathAwareValue { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 675 | pub(crate) fn is_scalar(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SAMPLE_MULTIPLE` is never used [INFO] [stdout] --> guard/src/rules/path_value_tests.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const SAMPLE_MULTIPLE : &str = r#"{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ALPHABETICAL` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) const ALPHABETICAL: (&str, &str) = ("alphabetical", "a"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LAST_MODIFIED` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) const LAST_MODIFIED: (&str, &str) = ("last-modified", "l"); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RULES` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub(crate) const RULES: (&str, &str) = ("rules", "r"); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA` is never used [INFO] [stdout] --> guard/src/commands/mod.rs:19:18 [INFO] [stdout] | [INFO] [stdout] 19 | pub(crate) const DATA: (&str, &str) = ("data", "d"); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_files` is never used [INFO] [stdout] --> guard/src/commands/files.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) fn get_files(file: &str, sort: F) -> Result, Error> [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_files_with_filter` is never used [INFO] [stdout] --> guard/src/commands/files.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) fn get_files_with_filter(file: &str, sort: S, filter: F) -> Result, Error> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Iter` is never constructed [INFO] [stdout] --> guard/src/commands/files.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | pub(crate) struct Iter<'i, T, C> [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `iterate_over` is never used [INFO] [stdout] --> guard/src/commands/files.rs:95:15 [INFO] [stdout] | [INFO] [stdout] 95 | pub(crate) fn iterate_over(files: &[PathBuf], converter: C) -> Iter [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `alpabetical` is never used [INFO] [stdout] --> guard/src/commands/files.rs:103:15 [INFO] [stdout] | [INFO] [stdout] 103 | pub(crate) fn alpabetical(first : &walkdir::DirEntry, second: &walkdir::DirEntry) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `last_modified` is never used [INFO] [stdout] --> guard/src/commands/files.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | pub(crate) fn last_modified(first: &walkdir::DirEntry, second: &walkdir::DirEntry) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `regular_ordering` is never used [INFO] [stdout] --> guard/src/commands/files.rs:120:15 [INFO] [stdout] | [INFO] [stdout] 120 | pub(crate) fn regular_ordering(_first: &walkdir::DirEntry, _second: &walkdir::DirEntry) -> Ordering { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Type` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:31:17 [INFO] [stdout] | [INFO] [stdout] 31 | pub(crate) enum Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OutputFormatType` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:37:17 [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) enum OutputFormatType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `report` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub(crate) trait Reporter : Debug { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] 44 | fn report(&self, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Validate` is never constructed [INFO] [stdout] --> guard/src/commands/validate.rs:54:19 [INFO] [stdout] | [INFO] [stdout] 54 | pub(crate) struct Validate {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:57:19 [INFO] [stdout] | [INFO] [stdout] 56 | impl Validate { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 57 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_and_return_json` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn validate_and_return_json( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `reporters`, `rules_file_name`, `data_file_name`, `verbose`, `print_json`, and `show_clause_failures` are never read [INFO] [stdout] --> guard/src/commands/validate.rs:272:5 [INFO] [stdout] | [INFO] [stdout] 270 | pub(crate) struct ConsoleReporter<'r> { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 271 | root_context: StackTracker<'r>, [INFO] [stdout] 272 | reporters: &'r Vec>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 273 | rules_file_name: &'r str, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 274 | data_file_name: &'r str, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 275 | verbose: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 276 | print_json: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 277 | show_clause_failures: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConsoleReporter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `indent_spaces` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:280:4 [INFO] [stdout] | [INFO] [stdout] 280 | fn indent_spaces(indent: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_context` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:286:15 [INFO] [stdout] | [INFO] [stdout] 286 | pub(super) fn print_context(cxt: &StatusContext, depth: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_failing_clause` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:323:4 [INFO] [stdout] | [INFO] [stdout] 323 | fn print_failing_clause(rules_file_name: &str, rule: &StatusContext, longest: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `report` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:381:8 [INFO] [stdout] | [INFO] [stdout] 362 | impl<'r, 'loc> ConsoleReporter<'r> { [INFO] [stdout] | ---------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 381 | fn report(self) -> crate::rules::Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INDENT` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:434:7 [INFO] [stdout] | [INFO] [stdout] 434 | const INDENT: &str = " "; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate_against_data_input` is never used [INFO] [stdout] --> guard/src/commands/validate.rs:464:4 [INFO] [stdout] | [INFO] [stdout] 464 | fn evaluate_against_data_input<'r>(data_type: Type, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenericSummary` is never constructed [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) struct GenericSummary<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 24 | impl<'a> GenericSummary<'a> { [INFO] [stdout] | --------------------------- associated function in this implementation [INFO] [stdout] 25 | pub(crate) fn new<'r>(data_file_name: &'r str, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SingleLineSummary` is never constructed [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | struct SingleLineSummary{} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `retrieval_error_message` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:99:4 [INFO] [stdout] | [INFO] [stdout] 99 | fn retrieval_error_message(rules_file: &str, data_file: &str, info: &NameInfo<'_>) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unary_error_message` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn unary_error_message(rules_file: &str, data_file: &str, op_msg: &str, info: &NameInfo<'_>) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `binary_error_message` is never used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:121:4 [INFO] [stdout] | [INFO] [stdout] 121 | fn binary_error_message(rules_file: &str, data_file: &str, op_msg: &str, info: &NameInfo<'_>) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NameInfo` is never constructed [INFO] [stdout] --> guard/src/commands/validate/common.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 31 | pub(super) struct NameInfo<'a> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `GenericReporter` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:40:18 [INFO] [stdout] | [INFO] [stdout] 40 | pub(super) trait GenericReporter: Debug { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StructureType` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:52:17 [INFO] [stdout] | [INFO] [stdout] 52 | pub(super) enum StructureType { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StructuredSummary` is never constructed [INFO] [stdout] --> guard/src/commands/validate/common.rs:58:19 [INFO] [stdout] | [INFO] [stdout] 58 | pub(super) struct StructuredSummary { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:63:19 [INFO] [stdout] | [INFO] [stdout] 62 | impl StructuredSummary { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 63 | pub(super) fn new(hierarchy_type: StructureType) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DataOutput` is never constructed [INFO] [stdout] --> guard/src/commands/validate/common.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | struct DataOutput<'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_name_info` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | pub(super) fn extract_name_info<'a>(rule_name: &'a str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `colored_string` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:162:15 [INFO] [stdout] | [INFO] [stdout] 162 | pub(super) fn colored_string(status: Option) -> ColoredString { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_all_failing_clauses` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:174:15 [INFO] [stdout] | [INFO] [stdout] 174 | pub(super) fn find_all_failing_clauses(context: &StatusContext) -> Vec<&StatusContext> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_compliant_skipped_info` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:199:15 [INFO] [stdout] | [INFO] [stdout] 199 | pub(super) fn print_compliant_skipped_info(writer: &mut dyn Write, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_name_info` is never used [INFO] [stdout] --> guard/src/commands/validate/common.rs:219:15 [INFO] [stdout] | [INFO] [stdout] 219 | pub(super) fn print_name_info( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SummaryTable` is never constructed [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 21 | pub(super) struct SummaryTable<'r> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:28:19 [INFO] [stdout] | [INFO] [stdout] 27 | impl<'a> SummaryTable<'a> { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] 28 | pub(crate) fn new<'r>(rules_file_name: &'r str, data_file_name: &'r str, summary_type: BitFlags) -> SummaryTable<'r> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_partition` is never used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:35:4 [INFO] [stdout] | [INFO] [stdout] 35 | fn print_partition(writer: &mut dyn Write, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CfnReporter` is never constructed [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:23:19 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) struct CfnReporter<'a> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 30 | impl<'a> CfnReporter<'a> { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 31 | pub(crate) fn new<'r>(data_file_name: &'r str, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SingleLineReporter` is never constructed [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:110:8 [INFO] [stdout] | [INFO] [stdout] 110 | struct SingleLineReporter {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rulegen` is never constructed [INFO] [stdout] --> guard/src/commands/rulegen.rs:14:19 [INFO] [stdout] | [INFO] [stdout] 14 | pub(crate) struct Rulegen {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/rulegen.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 16 | impl Rulegen { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 17 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_rules` is never used [INFO] [stdout] --> guard/src/commands/rulegen.rs:172:4 [INFO] [stdout] | [INFO] [stdout] 172 | fn print_rules(rule_map : HashMap>>, mut writer : Box) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Test` is never constructed [INFO] [stdout] --> guard/src/commands/test.rs:23:19 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) struct Test {} [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/test.rs:26:19 [INFO] [stdout] | [INFO] [stdout] 25 | impl Test { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 26 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_with_data` is never used [INFO] [stdout] --> guard/src/commands/test.rs:118:4 [INFO] [stdout] | [INFO] [stdout] 118 | fn test_with_data(test_data_files: &[PathBuf], rules: &RulesFile<'_>, verbose: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_test_case_report` is never used [INFO] [stdout] --> guard/src/commands/test.rs:188:16 [INFO] [stdout] | [INFO] [stdout] 188 | pub (crate) fn print_test_case_report(by_result: &HashMap>) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParseTree` is never constructed [INFO] [stdout] --> guard/src/commands/parse_tree.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) struct ParseTree {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/parse_tree.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 9 | impl ParseTree { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 10 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Migrate` is never constructed [INFO] [stdout] --> guard/src/commands/migrate.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 24 | pub(crate) struct Migrate {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> guard/src/commands/migrate.rs:27:19 [INFO] [stdout] | [INFO] [stdout] 26 | impl Migrate { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 27 | pub(crate) fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DummyEval` is never constructed [INFO] [stdout] --> guard/src/commands/common_test_helpers.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | pub(super) struct DummyEval{} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Command` is never used [INFO] [stdout] --> guard/src/command.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | pub(crate) trait Command { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe [INFO] [stdout] --> guard/src/lib.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | data: &str, [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider using `*const u8` and a length instead [INFO] [stdout] = note: string slices have no C equivalent [INFO] [stdout] = note: `#[warn(improper_ctypes_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `str`, which is not FFI-safe [INFO] [stdout] --> guard/src/lib.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | rules: &str, [INFO] [stdout] | ^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider using `*const u8` and a length instead [INFO] [stdout] = note: string slices have no C equivalent [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `std::result::Result`, which is not FFI-safe [INFO] [stdout] --> guard/src/lib.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | ) -> crate::rules::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum [INFO] [stdout] = note: enum has no representation hint [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/errors.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 125 | fn from(err: serde_json::Error) -> Self { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 126 | Error(ErrorKind::JsonError(err)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/errors.rs:132:15 [INFO] [stdout] | [INFO] [stdout] 131 | fn from(err: serde_yaml::Error) -> Self { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 132 | Error(ErrorKind::YamlError(err)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/errors.rs:139:20 [INFO] [stdout] | [INFO] [stdout] 138 | fn from(err: std::io::Error) -> Error { [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 139 | Error::new(ErrorKind::IoError(err)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/evaluate.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 72 | fn compare_loop_all(lhs: &Vec<&PathAwareValue>, rhs: &Vec<&PathAwareValue>, compare: F, any_one_rhs: bool) [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 77 | let mut results = Vec::with_capacity(lhs.len()); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 102 | Ok((lhs_cmp, results)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/evaluate.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 105 | fn compare_loop(lhs: &Vec<&PathAwareValue>, rhs: &Vec<&PathAwareValue>, compare: F, any_one_rhs: bool, atleast_one: bool) [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 108 | let (overall, results) = compare_loop_all(lhs, rhs, compare, any_one_rhs)?; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 134 | Ok((overall, results)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/evaluate.rs:950:9 [INFO] [stdout] | [INFO] [stdout] 950 | / extract_variables(&rules.assignments, [INFO] [stdout] 951 | | &mut literals, [INFO] [stdout] 952 | | &mut pending); [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 950 | let _ = extract_variables(&rules.assignments, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/evaluate.rs:1046:9 [INFO] [stdout] | [INFO] [stdout] 1046 | / extract_variables(&block_type.assignments, [INFO] [stdout] 1047 | | &mut literals, [INFO] [stdout] 1048 | | &mut pending); [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1046 | let _ = extract_variables(&block_type.assignments, [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/evaluate_tests.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 29 | fn read_data(file: File) -> Result { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 30 | let context = read_file_content(file)?; [INFO] [stdout] 31 | match serde_json::from_str::(&context) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/exprs.rs:22:46 [INFO] [stdout] | [INFO] [stdout] 22 | #[derive(PartialEq, Debug, Clone, Serialize, Deserialize, Hash)] [INFO] [stdout] | ^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/exprs.rs:55:46 [INFO] [stdout] | [INFO] [stdout] 55 | #[derive(PartialEq, Debug, Clone, Serialize, Deserialize, Hash)] [INFO] [stdout] | ^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/exprs.rs:176:46 [INFO] [stdout] | [INFO] [stdout] 176 | #[derive(PartialEq, Debug, Clone, Serialize, Deserialize, Hash)] [INFO] [stdout] | ^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/exprs.rs:184:46 [INFO] [stdout] | [INFO] [stdout] 184 | #[derive(PartialEq, Debug, Clone, Serialize, Deserialize, Hash)] [INFO] [stdout] | ^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/exprs.rs:205:46 [INFO] [stdout] | [INFO] [stdout] 205 | #[derive(PartialEq, Debug, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:143:24 [INFO] [stdout] | [INFO] [stdout] 143 | move |input: Span| preceded(zero_or_more_ws_or_comment, char(ch))(input) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:174:5 [INFO] [stdout] | [INFO] [stdout] 168 | let negative = map_res(preceded(tag("-"), digit1), |s: Span| { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 171 | let positive = map_res(digit1, |s: Span| { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 174 | alt((positive, negative))(input) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:196:5 [INFO] [stdout] | [INFO] [stdout] 194 | let true_parser = value(Value::Bool(true), alt((tag("true"), tag("True")))); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 195 | let false_parser = value(Value::Bool(false), alt((tag("false"), tag("False")))); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 196 | alt((true_parser, false_parser))(input) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:288:8 [INFO] [stdout] | [INFO] [stdout] 252 | let parsed = preceded( [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 260 | let (open, (start, end), close) = parsed.1; [INFO] [stdout] | ----- --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 263 | let val = match (start, end) { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 288 | Ok((parsed.0, val)) [INFO] [stdout] | ^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:351:8 [INFO] [stdout] | [INFO] [stdout] 346 | let result = delimited( [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 351 | Ok(( [INFO] [stdout] | ________^ [INFO] [stdout] 352 | | result.0, [INFO] [stdout] 353 | | Value::Map( [INFO] [stdout] 354 | | result [INFO] [stdout] ... | [INFO] [stdout] 358 | | ), [INFO] [stdout] 359 | | )) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_____| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:679:8 [INFO] [stdout] | [INFO] [stdout] 676 | let (input, filters) = cnf_clauses( [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 679 | Ok((input, QueryPart::Filter(filters))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:743:8 [INFO] [stdout] | [INFO] [stdout] 738 | let (input, with) = cut(preceded(zero_or_more_ws_or_comment, alt(( [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 743 | Ok((input, QueryPart::MapKeyFilter(MapKeyFilterClause { [INFO] [stdout] | ________^ [INFO] [stdout] 744 | | comparator: cmp, [INFO] [stdout] 745 | | compare_with: with [INFO] [stdout] 746 | | }))) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_______| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:892:34 [INFO] [stdout] | [INFO] [stdout] 891 | ... move |(rhs, msg)| { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 892 | ... (Some(LetValue::Value(rhs)), msg.map(String::from).or(None)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:898:34 [INFO] [stdout] | [INFO] [stdout] 897 | ... |(rhs, msg)| { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 898 | ... (Some(LetValue::AccessClause(rhs)), msg.map(String::from).or(None)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:932:8 [INFO] [stdout] | [INFO] [stdout] 930 | let (input, query) = access(input)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 931 | let (input, (assignments, conjunctions)) = block(clause)(input)?; [INFO] [stdout] | ----------- ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 932 | Ok((input, GuardClause::BlockClause(BlockGuardClause { [INFO] [stdout] | ________^ [INFO] [stdout] 933 | | query, block: Block { [INFO] [stdout] 934 | | assignments, conjunctions, [INFO] [stdout] 935 | | }, [INFO] [stdout] 936 | | location [INFO] [stdout] 937 | | }))) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_______these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:961:47 [INFO] [stdout] | [INFO] [stdout] 960 | when_block(single_clauses, clause, |conds, (assigns, cls)| { [INFO] [stdout] | ----- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 961 | GuardClause::WhenBlock(conds, Block { [INFO] [stdout] | _______________________________________________^ [INFO] [stdout] 962 | | assignments: assigns, [INFO] [stdout] 963 | | conjunctions: cls [INFO] [stdout] 964 | | }) [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1216:9 [INFO] [stdout] | [INFO] [stdout] 1203 | fn when_conditions<'loc, P>(condition_parser: P) -> impl Fn(Span<'loc>) -> IResult, Conjunctions>> [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1216 | / cut( [INFO] [stdout] 1217 | | // [INFO] [stdout] 1218 | | // when keyword must be followed by a space and then clauses. Fail if that [INFO] [stdout] 1219 | | // is not the case [INFO] [stdout] ... | [INFO] [stdout] 1222 | | one_or_more_ws_or_comment, [INFO] [stdout] 1223 | | |s| condition_parser(s)))(input) [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1268:12 [INFO] [stdout] | [INFO] [stdout] 1227 | fn block<'loc, T, P>(clause_parser: P) -> impl Fn(Span<'loc>) -> IResult, (Vec>, Conjunctions)> [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1235 | let mut conjunctions: Conjunctions = Conjunctions::new(); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1236 | let (input, results) = [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1251 | let mut assignments = vec![]; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1268 | Ok((input, (assignments, conjunctions))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1239:80 [INFO] [stdout] | [INFO] [stdout] 1239 | map(preceded(zero_or_more_ws_or_comment, assignment), |s| (Some(s), None)), [INFO] [stdout] | - ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1239:89 [INFO] [stdout] | [INFO] [stdout] 1239 | map(preceded(zero_or_more_ws_or_comment, assignment), |s| (Some(s), None)), [INFO] [stdout] | - ^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1242:47 [INFO] [stdout] | [INFO] [stdout] 1242 | |c: Disjunctions| (None, Some(c))) [INFO] [stdout] | ------------------ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1242:53 [INFO] [stdout] | [INFO] [stdout] 1242 | |c: Disjunctions| (None, Some(c))) [INFO] [stdout] | ------------------ ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1329:8 [INFO] [stdout] | [INFO] [stdout] 1309 | let (input, when_conditions) = opt( [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1312 | let (input, (assignments, clauses)) = [INFO] [stdout] | ----------- ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1317 | Ok((input, result)) => (input, result), [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1318 | Err(nom::Err::Error(_)) => { [INFO] [stdout] 1319 | let (input, conjs) = cut(preceded( [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1329 | Ok((input, TypeBlock { [INFO] [stdout] | ________^ [INFO] [stdout] 1330 | | conditions: when_conditions, [INFO] [stdout] 1331 | | type_name: format!("{}", name.type_name), [INFO] [stdout] 1332 | | block: Block { [INFO] [stdout] ... | [INFO] [stdout] 1335 | | } [INFO] [stdout] 1336 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |______these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1347:9 [INFO] [stdout] | [INFO] [stdout] 1339 | fn when_block<'loc, C, B, M, T, R>(conditions: C, block_fn: B, mapper: M) -> impl Fn(Span<'loc>) -> IResult, R> [INFO] [stdout] | ---------- -------- ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1347 | / map(preceded(zero_or_more_ws_or_comment, [INFO] [stdout] 1348 | | pair( [INFO] [stdout] 1349 | | when_conditions(|p| conditions(p)), [INFO] [stdout] 1350 | | block(|p| block_fn(p)) [INFO] [stdout] 1351 | | )), |(w, b)| mapper(w, b))(input) [INFO] [stdout] | |_______________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1364:51 [INFO] [stdout] | [INFO] [stdout] 1363 | |(conditions, block)| { [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1364 | RuleClause::WhenBlock(conditions, Block{ assignments: block.0, conjunctions: block.1 }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1385:8 [INFO] [stdout] | [INFO] [stdout] 1381 | let (input, conditions) = opt(when_conditions(single_clauses))(input)?; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1382 | let (input, (assignments, conjunctions)) = [INFO] [stdout] | ----------- ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1385 | Ok((input, Rule { [INFO] [stdout] | ________^ [INFO] [stdout] 1386 | | rule_name, [INFO] [stdout] 1387 | | conditions, [INFO] [stdout] 1388 | | block: Block { [INFO] [stdout] ... | [INFO] [stdout] 1391 | | } [INFO] [stdout] 1392 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |______these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1398:8 [INFO] [stdout] | [INFO] [stdout] 1396 | let (input, disjunctions) = disjunction_clauses( [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1397 | input, clause, true)?; [INFO] [stdout] 1398 | Ok((input, disjunctions)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1405:8 [INFO] [stdout] | [INFO] [stdout] 1403 | let (input, disjunctions) = disjunction_clauses( [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1404 | input, type_block, true)?; [INFO] [stdout] 1405 | Ok((input, disjunctions)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1412:9 [INFO] [stdout] | [INFO] [stdout] 1408 | fn remove_whitespace_comments<'loc, P, R>(parser: P) -> impl Fn(Span<'loc>) -> IResult, R> [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1412 | / delimited( [INFO] [stdout] 1413 | | zero_or_more_ws_or_comment, [INFO] [stdout] 1414 | | |s| parser(s), [INFO] [stdout] 1415 | | zero_or_more_ws_or_comment [INFO] [stdout] 1416 | | )(input) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1477:8 [INFO] [stdout] | [INFO] [stdout] 1433 | let exprs = all_consuming(fold_many1( [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1451 | let mut global_assignments = Vec::with_capacity(exprs.len()); [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1452 | let mut default_rule_clauses = Vec::with_capacity(exprs.len()); [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1453 | let mut named_rules = Vec::with_capacity(exprs.len()); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1477 | Ok(RulesFile { [INFO] [stdout] | ________^ [INFO] [stdout] 1478 | | assignments: global_assignments, [INFO] [stdout] 1479 | | guard_rules: named_rules [INFO] [stdout] 1480 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_____| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser.rs:1440:48 [INFO] [stdout] | [INFO] [stdout] 1439 | when_block(single_clauses, alt((clause, rule_clause)), |c, b| [INFO] [stdout] | - - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1440 | Exprs::DefaultWhenBlock(c, Block { assignments: b.0, conjunctions: b.1 })), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/parser_tests.rs:1988:45 [INFO] [stdout] | [INFO] [stdout] 1988 | ... || Some(LetValue::Value(rhs_value.clone()))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/values.rs:14:46 [INFO] [stdout] | [INFO] [stdout] 14 | #[derive(PartialEq, Debug, Clone, Serialize, Deserialize, Hash, Copy)] [INFO] [stdout] | ^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/values.rs:64:46 [INFO] [stdout] | [INFO] [stdout] 64 | #[derive(PartialEq, Debug, Clone, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: this error originates in the macro `try` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/rules/values.rs:155:17 [INFO] [stdout] | [INFO] [stdout] 155 | write!(f, "{},{}", range.lower, range.upper); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/rules/values.rs:313:5 [INFO] [stdout] | [INFO] [stdout] 309 | pub(super) fn make_linked_hashmap<'a, I>(values: I) -> IndexMap [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 313 | values.into_iter().map(|(s, v)| (s.to_owned(), v)).collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/commands/files.rs:91:14 [INFO] [stdout] | [INFO] [stdout] 83 | let file = match File::open(next) { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 84 | Ok(file) => file, [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 85 | Err(e) => return Some(Err(Error::from(e))), [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 89 | Err(e) => return Some(Err(Error::from(e))), [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 90 | }; [INFO] [stdout] 91 | Some((self.converter)(content, next)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | reader.read_to_string(&mut context); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | let _ = reader.read_to_string(&mut context); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/commands/validate.rs:249:11 [INFO] [stdout] | [INFO] [stdout] 242 | let input_data = match serde_json::from_str::(&data) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 243 | Ok(value) => PathAwareValue::try_from(value), [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 244 | Err(e) => return Err(Error::new(ErrorKind::ParseError(e.to_string()))), [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | match crate::rules::parser::rules_file(span) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/commands/validate.rs:474:15 [INFO] [stdout] | [INFO] [stdout] 474 | match serde_json::from_str::(content) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/generic_summary.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | writeln!(writer, "--"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/common.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | / match &self.hierarchy_type { [INFO] [stdout] 97 | | StructureType::JSON => writeln!(writer, "{}", serde_json::to_string(&value)?), [INFO] [stdout] 98 | | StructureType::YAML => writeln!(writer, "{}", serde_yaml::to_string(&value)?), [INFO] [stdout] 99 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 96 | let _ = match &self.hierarchy_type { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | writeln!(writer, "{}", "SKIP rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | writeln!(writer, "{}", "PASS rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/summary_table.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | writeln!(writer, "{}", "FAILED rules".bold()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/validate/cfn_reporter.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | writeln!(writer, "--"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/commands/rulegen.rs:197:11 [INFO] [stdout] | [INFO] [stdout] 172 | fn print_rules(rule_map : HashMap>>, mut writer : Box) { [INFO] [stdout] | ------------------------------------------------------------ ------------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 197 | match crate::rules::parser::rules_file(span) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/rulegen.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | write!(writer,"{}", generated_rules); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/commands/helper.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 16 | let input_data = match serde_json::from_str::(&data) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 17 | Ok(value) => PathAwareValue::try_from(value), [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 18 | Err(e) => return Err(Error::new(ErrorKind::ParseError(e.to_string()))), [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 23 | match crate::rules::parser::rules_file(span) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/commands/migrate.rs:56:15 [INFO] [stdout] | [INFO] [stdout] 50 | let file = File::open(file_input)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 51 | [INFO] [stdout] 52 | let mut out= match app.value_of("output") { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 56 | match read_file_content(file) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | writeln!(&mut migrated, "{}", assignment); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 99 | writeln!(&mut migrated, "let {} = Resources.*[ Type == \"{}\" ]", each_type, each_type.type_name); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | writeln!(&mut migrated, "rule {name}_checks WHEN %{name} NOT EMPTY {{", name=each_type); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 101 | writeln!(&mut migrated, " %{} {{", each_type); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | writeln!(&mut migrated, " {}", *each_clause); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/commands/migrate.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | writeln!(&mut migrated, " }}\n}}\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `query:` in this pattern is redundant [INFO] [stdout] --> guard/src/commands/aws_meta_appender.rs:42:59 [INFO] [stdout] | [INFO] [stdout] 42 | ... let AccessQuery { query: query, match_all: all } = [INFO] [stdout] | ^^^^^^^^^^^^ help: use shorthand field pattern: `query` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_shorthand_field_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/migrate/parser.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | writeln!(f, "when {} {{", self.when_condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> guard/src/migrate/parser.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | writeln!(f, " {}", self.check_condition); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser.rs:260:8 [INFO] [stdout] | [INFO] [stdout] 259 | let (remaining, value) = parse_old_guard_value(input)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 260 | Ok((remaining, Assignment{ [INFO] [stdout] | ________^ [INFO] [stdout] 261 | | value, [INFO] [stdout] 262 | | var_name [INFO] [stdout] 263 | | })) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |______| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser.rs:305:8 [INFO] [stdout] | [INFO] [stdout] 304 | let (remaining, comparison_value) = cut(preceded(space1, parse_old_guard_value))(remaining_for_value)?; [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 305 | Ok((remaining, PropertyComparison{ [INFO] [stdout] | ________^ [INFO] [stdout] 306 | | property_path, [INFO] [stdout] 307 | | operator, [INFO] [stdout] 308 | | comparison_value [INFO] [stdout] 309 | | })) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |______| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser.rs:352:8 [INFO] [stdout] | [INFO] [stdout] 348 | let (_property_check_remainder, when_condition) = terminated(property_comparison, space0)(property_comparison_span)?; [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 351 | let (remainder, check_condition) = preceded(tag("CHECK"), property_comparison)(input)?; [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 352 | Ok((remainder, ConditionalRule{ [INFO] [stdout] | ________^ [INFO] [stdout] 353 | | type_name, [INFO] [stdout] 354 | | when_condition, [INFO] [stdout] 355 | | check_condition [INFO] [stdout] 356 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |______these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser.rs:383:8 [INFO] [stdout] | [INFO] [stdout] 382 | let (remaining_for_message, rules) = separated_nonempty_list(preceded(space0, tag("|OR|")), rule )(input)?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 383 | Ok((remaining_for_message, Clause { rules })) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser.rs:401:8 [INFO] [stdout] | [INFO] [stdout] 395 | let (remainder, rule_line) = alt(( [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 401 | Ok((remainder, rule_line)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser_tests.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 174 | let value_list = vec![Value::String(String::from("a")), Value::String(String::from("b")), Value::String(String::from("c"))]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 179 | property_comparison(from_str2(example)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser_tests.rs:180:9 [INFO] [stdout] | [INFO] [stdout] 174 | let value_list = vec![Value::String(String::from("a")), Value::String(String::from("b")), Value::String(String::from("c"))]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 180 | / Ok((span, PropertyComparison{ [INFO] [stdout] 181 | | property_path: String::from(".property.path.*"), [INFO] [stdout] 182 | | operator: CmpOperator::Eq, [INFO] [stdout] 183 | | comparison_value: OldGuardValues::Value(Value::List(value_list)) [INFO] [stdout] 184 | | })) [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser_tests.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 205 | let value_list = vec![Value::String(String::from("a")), Value::String(String::from("b")), Value::String(String::from("c"))]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 208 | let prop_comparison = PropertyComparison{ [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 216 | base_rule(from_str2(example)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser_tests.rs:217:9 [INFO] [stdout] | [INFO] [stdout] 205 | let value_list = vec![Value::String(String::from("a")), Value::String(String::from("b")), Value::String(String::from("c"))]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 208 | let prop_comparison = PropertyComparison{ [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 217 | / Ok((span, BaseRule{ [INFO] [stdout] 218 | | type_name: TypeName{type_name: String::from("AWS::S3::Bucket")}, [INFO] [stdout] 219 | | property_comparison: prop_comparison, [INFO] [stdout] 220 | | custom_message: None [INFO] [stdout] 221 | | })) [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser_tests.rs:243:9 [INFO] [stdout] | [INFO] [stdout] 227 | let value_list = vec![Value::String(String::from("a")), Value::String(String::from("b")), Value::String(String::from("c"))]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 230 | let when_condition = PropertyComparison{ [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 235 | let check_condition = PropertyComparison{ [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 243 | conditional_rule(from_str2(example)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> guard/src/migrate/parser_tests.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 227 | let value_list = vec![Value::String(String::from("a")), Value::String(String::from("b")), Value::String(String::from("c"))]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 230 | let when_condition = PropertyComparison{ [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 235 | let check_condition = PropertyComparison{ [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 244 | / Ok((span, ConditionalRule{ [INFO] [stdout] 245 | | type_name: TypeName{type_name: String::from("AWS::S3::Bucket")}, [INFO] [stdout] 246 | | when_condition, [INFO] [stdout] 247 | | check_condition [INFO] [stdout] 248 | | })) [INFO] [stdout] | |___________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 58 previous errors; 135 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `cfn-guard` (lib test) due to 59 previous errors; 135 warnings emitted [INFO] running `Command { std: "docker" "inspect" "4016e2ce204d47751785b4b6cc9d462b0dc623a7caf801b2816a6ff0deb42a03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4016e2ce204d47751785b4b6cc9d462b0dc623a7caf801b2816a6ff0deb42a03", kill_on_drop: false }` [INFO] [stdout] 4016e2ce204d47751785b4b6cc9d462b0dc623a7caf801b2816a6ff0deb42a03