[INFO] fetching crate graphql-tools 0.2.5... [INFO] checking graphql-tools-0.2.5 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate graphql-tools 0.2.5 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate graphql-tools 0.2.5 on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate graphql-tools 0.2.5 [INFO] finished tweaking crates.io crate graphql-tools 0.2.5 [INFO] tweaked toml for crates.io crate graphql-tools 0.2.5 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 70 packages to latest compatible versions [INFO] [stderr] Adding ascii v0.9.3 (latest: v1.1.0) [INFO] [stderr] Adding base64 v0.13.1 (latest: v0.22.1) [INFO] [stderr] Adding combine v3.8.1 (latest: v4.6.7) [INFO] [stderr] Adding hashbrown v0.12.3 (latest: v0.14.5) [INFO] [stderr] Adding indexmap v1.9.3 (latest: v2.5.0) [INFO] [stderr] Adding serde_with v2.3.3 (latest: v3.9.0) [INFO] [stderr] Adding serde_with_macros v2.3.3 (latest: v3.9.0) [INFO] [stderr] Adding windows-core v0.52.0 (latest: v0.58.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 90f5a23b8a97e55a6e2fcb2a15e098735e70230ecab5e45f513373a6dc6ffd75 [INFO] running `Command { std: "docker" "start" "-a" "90f5a23b8a97e55a6e2fcb2a15e098735e70230ecab5e45f513373a6dc6ffd75", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "90f5a23b8a97e55a6e2fcb2a15e098735e70230ecab5e45f513373a6dc6ffd75", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "90f5a23b8a97e55a6e2fcb2a15e098735e70230ecab5e45f513373a6dc6ffd75", kill_on_drop: false }` [INFO] [stdout] 90f5a23b8a97e55a6e2fcb2a15e098735e70230ecab5e45f513373a6dc6ffd75 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -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" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4670661c9cc14b9f3b2eebf665d31a22deb159e2465b743419deb10c9c0a21cc [INFO] running `Command { std: "docker" "start" "-a" "4670661c9cc14b9f3b2eebf665d31a22deb159e2465b743419deb10c9c0a21cc", kill_on_drop: false }` [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Checking ascii v0.9.3 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking unreachable v1.0.0 [INFO] [stderr] Checking combine v3.8.1 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling serde_derive v1.0.209 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Checking graphql-parser v0.4.0 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Compiling serde_with_macros v2.3.3 [INFO] [stderr] Checking serde v1.0.209 [INFO] [stderr] Checking serde_json v1.0.127 [INFO] [stderr] Checking serde_with v2.3.3 [INFO] [stderr] Checking graphql-tools v0.2.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/validation/rules/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub use self::no_undefined_variables::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the name `Scope` in the type namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 55 | pub use self::variables_in_allowed_position::*; [INFO] [stdout] | -------------------------------------- but the name `Scope` in the type namespace is also re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/validation/rules/mod.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub use self::no_undefined_variables::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the name `Scope` in the type namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 55 | pub use self::variables_in_allowed_position::*; [INFO] [stdout] | -------------------------------------- but the name `Scope` in the type namespace is also re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [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] --> src/ast/operation_transformer.rs:165:30 [INFO] [stdout] | [INFO] [stdout] 154 | let selections = self.transform_selection_set(&node.selection_set); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 155 | let directives = self.transform_directives(&node.directives); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 156 | let variable_definitions = self.transform_variable_definitions(&node.variable_definitions); [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 165 | Transformed::Replace(Query { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 166 | | directives: directives.replace_or_else(|| node.directives.clone()), [INFO] [stdout] 167 | | selection_set: SelectionSet { [INFO] [stdout] 168 | | items: selections.replace_or_else(|| node.selection_set.items.clone()), [INFO] [stdout] ... | [INFO] [stdout] 174 | | name: node.name.clone(), [INFO] [stdout] 175 | | }) [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] --> src/ast/operation_transformer.rs:197:30 [INFO] [stdout] | [INFO] [stdout] 186 | let selections = self.transform_selection_set(&node.selection_set); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 187 | let directives = self.transform_directives(&node.directives); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 188 | let variable_definitions = self.transform_variable_definitions(&node.variable_definitions); [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 197 | Transformed::Replace(Mutation { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 198 | | directives: directives.replace_or_else(|| node.directives.clone()), [INFO] [stdout] 199 | | selection_set: SelectionSet { [INFO] [stdout] 200 | | items: selections.replace_or_else(|| node.selection_set.items.clone()), [INFO] [stdout] ... | [INFO] [stdout] 206 | | name: node.name.clone(), [INFO] [stdout] 207 | | }) [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] --> src/ast/operation_transformer.rs:232:30 [INFO] [stdout] | [INFO] [stdout] 221 | let selections = self.transform_selection_set(&node.selection_set); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 222 | let directives = self.transform_directives(&node.directives); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 223 | let variable_definitions = self.transform_variable_definitions(&node.variable_definitions); [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 232 | Transformed::Replace(Subscription { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 233 | | directives: directives.replace_or_else(|| node.directives.clone()), [INFO] [stdout] 234 | | selection_set: SelectionSet { [INFO] [stdout] 235 | | items: selections.replace_or_else(|| node.selection_set.items.clone()), [INFO] [stdout] ... | [INFO] [stdout] 241 | | name: node.name.clone(), [INFO] [stdout] 242 | | }) [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] --> src/ast/operation_transformer.rs:263:30 [INFO] [stdout] | [INFO] [stdout] 256 | let selections = self.transform_selection_set(&fragment.selection_set); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 257 | let directives = self.transform_directives(&fragment.directives); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 263 | Transformed::Replace(FragmentDefinition { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 264 | | directives: directives.replace_or_else(|| fragment.directives.clone()), [INFO] [stdout] 265 | | selection_set: SelectionSet { [INFO] [stdout] 266 | | items: selections.replace_or_else(|| fragment.selection_set.items.clone()), [INFO] [stdout] ... | [INFO] [stdout] 271 | | type_condition: fragment.type_condition.clone(), [INFO] [stdout] 272 | | }) [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] --> src/ast/operation_transformer.rs:311:30 [INFO] [stdout] | [INFO] [stdout] 305 | let selection_set = self.transform_selection_set(&field.selection_set); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 306 | let arguments = self.transform_arguments(&field.arguments); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 307 | let directives = self.transform_directives(&field.directives); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 311 | Transformed::Replace(Selection::Field(Field { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 312 | | arguments: arguments.replace_or_else(|| field.arguments.clone()), [INFO] [stdout] 313 | | directives: directives.replace_or_else(|| field.directives.clone()), [INFO] [stdout] 314 | | selection_set: SelectionSet { [INFO] [stdout] ... | [INFO] [stdout] 320 | | name: field.name.clone(), [INFO] [stdout] 321 | | })) [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] --> src/ast/operation_transformer.rs:335:30 [INFO] [stdout] | [INFO] [stdout] 334 | let directives = self.transform_directives(&spread.directives); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 335 | Transformed::Replace(Selection::FragmentSpread(FragmentSpread { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 336 | | directives: directives.replace_or_else(|| spread.directives.clone()), [INFO] [stdout] 337 | | position: spread.position, [INFO] [stdout] 338 | | fragment_name: spread.fragment_name.clone(), [INFO] [stdout] 339 | | })) [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] --> src/ast/operation_transformer.rs:360:30 [INFO] [stdout] | [INFO] [stdout] 353 | let selections = self.transform_selection_set(&fragment.selection_set); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 354 | let directives = self.transform_directives(&fragment.directives); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 360 | Transformed::Replace(Selection::InlineFragment(InlineFragment { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 361 | | position: fragment.position, [INFO] [stdout] 362 | | type_condition: fragment.type_condition.clone(), [INFO] [stdout] 363 | | directives: directives.replace_or_else(|| fragment.directives.clone()), [INFO] [stdout] ... | [INFO] [stdout] 367 | | }, [INFO] [stdout] 368 | | })) [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: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/validation/rules/no_unused_fragments.rs:38:39 [INFO] [stdout] | [INFO] [stdout] 38 | Some(fragment_name.clone()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/validation/rules/overlapping_fields_can_be_merged.rs:782:59 [INFO] [stdout] | [INFO] [stdout] 782 | ast_and_defs.insert(out_field_name.clone(), Vec::new()); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/validation/rules/unique_fragment_names.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | self.findings_counter.insert(name.clone(), value + 1); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/validation/rules/unique_operation_names.rs:38:54 [INFO] [stdout] | [INFO] [stdout] 38 | let value = *self.findings_counter.entry(name.clone()).or_insert(0); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/validation/rules/unique_operation_names.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | self.findings_counter.insert(name.clone(), value + 1); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 7 previous errors; 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `graphql-tools` (lib) due to 8 previous errors; 6 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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] --> src/ast/operation_transformer.rs:165:30 [INFO] [stdout] | [INFO] [stdout] 154 | let selections = self.transform_selection_set(&node.selection_set); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 155 | let directives = self.transform_directives(&node.directives); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 156 | let variable_definitions = self.transform_variable_definitions(&node.variable_definitions); [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 165 | Transformed::Replace(Query { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 166 | | directives: directives.replace_or_else(|| node.directives.clone()), [INFO] [stdout] 167 | | selection_set: SelectionSet { [INFO] [stdout] 168 | | items: selections.replace_or_else(|| node.selection_set.items.clone()), [INFO] [stdout] ... | [INFO] [stdout] 174 | | name: node.name.clone(), [INFO] [stdout] 175 | | }) [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] --> src/ast/operation_transformer.rs:197:30 [INFO] [stdout] | [INFO] [stdout] 186 | let selections = self.transform_selection_set(&node.selection_set); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 187 | let directives = self.transform_directives(&node.directives); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 188 | let variable_definitions = self.transform_variable_definitions(&node.variable_definitions); [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 197 | Transformed::Replace(Mutation { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 198 | | directives: directives.replace_or_else(|| node.directives.clone()), [INFO] [stdout] 199 | | selection_set: SelectionSet { [INFO] [stdout] 200 | | items: selections.replace_or_else(|| node.selection_set.items.clone()), [INFO] [stdout] ... | [INFO] [stdout] 206 | | name: node.name.clone(), [INFO] [stdout] 207 | | }) [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] --> src/ast/operation_transformer.rs:232:30 [INFO] [stdout] | [INFO] [stdout] 221 | let selections = self.transform_selection_set(&node.selection_set); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 222 | let directives = self.transform_directives(&node.directives); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 223 | let variable_definitions = self.transform_variable_definitions(&node.variable_definitions); [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 232 | Transformed::Replace(Subscription { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 233 | | directives: directives.replace_or_else(|| node.directives.clone()), [INFO] [stdout] 234 | | selection_set: SelectionSet { [INFO] [stdout] 235 | | items: selections.replace_or_else(|| node.selection_set.items.clone()), [INFO] [stdout] ... | [INFO] [stdout] 241 | | name: node.name.clone(), [INFO] [stdout] 242 | | }) [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] --> src/ast/operation_transformer.rs:263:30 [INFO] [stdout] | [INFO] [stdout] 256 | let selections = self.transform_selection_set(&fragment.selection_set); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 257 | let directives = self.transform_directives(&fragment.directives); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 263 | Transformed::Replace(FragmentDefinition { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 264 | | directives: directives.replace_or_else(|| fragment.directives.clone()), [INFO] [stdout] 265 | | selection_set: SelectionSet { [INFO] [stdout] 266 | | items: selections.replace_or_else(|| fragment.selection_set.items.clone()), [INFO] [stdout] ... | [INFO] [stdout] 271 | | type_condition: fragment.type_condition.clone(), [INFO] [stdout] 272 | | }) [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] --> src/ast/operation_transformer.rs:311:30 [INFO] [stdout] | [INFO] [stdout] 305 | let selection_set = self.transform_selection_set(&field.selection_set); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 306 | let arguments = self.transform_arguments(&field.arguments); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 307 | let directives = self.transform_directives(&field.directives); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 311 | Transformed::Replace(Selection::Field(Field { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 312 | | arguments: arguments.replace_or_else(|| field.arguments.clone()), [INFO] [stdout] 313 | | directives: directives.replace_or_else(|| field.directives.clone()), [INFO] [stdout] 314 | | selection_set: SelectionSet { [INFO] [stdout] ... | [INFO] [stdout] 320 | | name: field.name.clone(), [INFO] [stdout] 321 | | })) [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] --> src/ast/operation_transformer.rs:335:30 [INFO] [stdout] | [INFO] [stdout] 334 | let directives = self.transform_directives(&spread.directives); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 335 | Transformed::Replace(Selection::FragmentSpread(FragmentSpread { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 336 | | directives: directives.replace_or_else(|| spread.directives.clone()), [INFO] [stdout] 337 | | position: spread.position, [INFO] [stdout] 338 | | fragment_name: spread.fragment_name.clone(), [INFO] [stdout] 339 | | })) [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] --> src/ast/operation_transformer.rs:360:30 [INFO] [stdout] | [INFO] [stdout] 353 | let selections = self.transform_selection_set(&fragment.selection_set); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 354 | let directives = self.transform_directives(&fragment.directives); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 360 | Transformed::Replace(Selection::InlineFragment(InlineFragment { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 361 | | position: fragment.position, [INFO] [stdout] 362 | | type_condition: fragment.type_condition.clone(), [INFO] [stdout] 363 | | directives: directives.replace_or_else(|| fragment.directives.clone()), [INFO] [stdout] ... | [INFO] [stdout] 367 | | }, [INFO] [stdout] 368 | | })) [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] --> src/ast/operation_transformer.rs:561:41 [INFO] [stdout] | [INFO] [stdout] 561 | ... .map(|item| self.transform_value(item).replace_or_else(|| item.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] --> src/ast/operation_transformer.rs:574:34 [INFO] [stdout] | [INFO] [stdout] 571 | ... let new_value = self [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 574 | ... (name.clone(), new_value) [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] --> src/ast/operation_transformer.rs:591:38 [INFO] [stdout] | [INFO] [stdout] 587 | let selection_set = self.transform_selection_set(&field.selection_set); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 588 | let arguments = self.transform_arguments(&field.arguments); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 589 | let directives = self.transform_directives(&field.directives); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 590 | [INFO] [stdout] 591 | Transformed::Replace(Selection::Field(Field { [INFO] [stdout] | ______________________________________^ [INFO] [stdout] 592 | | arguments: arguments.replace_or_else(|| field.arguments.clone()), [INFO] [stdout] 593 | | directives: directives.replace_or_else(|| field.directives.clone()), [INFO] [stdout] 594 | | selection_set: SelectionSet { [INFO] [stdout] ... | [INFO] [stdout] 600 | | name: field.name.clone(), [INFO] [stdout] 601 | | })) [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: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/validation/rules/no_unused_fragments.rs:38:39 [INFO] [stdout] | [INFO] [stdout] 38 | Some(fragment_name.clone()) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/validation/rules/overlapping_fields_can_be_merged.rs:782:59 [INFO] [stdout] | [INFO] [stdout] 782 | ast_and_defs.insert(out_field_name.clone(), Vec::new()); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/validation/rules/unique_fragment_names.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | self.findings_counter.insert(name.clone(), value + 1); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/validation/rules/unique_operation_names.rs:38:54 [INFO] [stdout] | [INFO] [stdout] 38 | let value = *self.findings_counter.entry(name.clone()).or_insert(0); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/validation/rules/unique_operation_names.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | self.findings_counter.insert(name.clone(), value + 1); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 10 previous errors; 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `graphql-tools` (lib test) due to 11 previous errors; 6 warnings emitted [INFO] running `Command { std: "docker" "inspect" "4670661c9cc14b9f3b2eebf665d31a22deb159e2465b743419deb10c9c0a21cc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4670661c9cc14b9f3b2eebf665d31a22deb159e2465b743419deb10c9c0a21cc", kill_on_drop: false }` [INFO] [stdout] 4670661c9cc14b9f3b2eebf665d31a22deb159e2465b743419deb10c9c0a21cc