[INFO] fetching crate obsidian 0.2.2... [INFO] checking obsidian-0.2.2 against try#c387b04bf028733cd561d62128c8a5eee4bc1458+rustflags=-Dtail_expr_drop_order for pr-130930 [INFO] extracting crate obsidian 0.2.2 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate obsidian 0.2.2 on toolchain c387b04bf028733cd561d62128c8a5eee4bc1458 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate obsidian 0.2.2 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate obsidian 0.2.2 [INFO] tweaked toml for crates.io crate obsidian 0.2.2 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate crates.io crate obsidian 0.2.2 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" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5612d5a040fe9de7b4516d77988f4f7a443869364af0851fd533e6aed0e40f8f [INFO] running `Command { std: "docker" "start" "-a" "5612d5a040fe9de7b4516d77988f4f7a443869364af0851fd533e6aed0e40f8f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5612d5a040fe9de7b4516d77988f4f7a443869364af0851fd533e6aed0e40f8f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5612d5a040fe9de7b4516d77988f4f7a443869364af0851fd533e6aed0e40f8f", kill_on_drop: false }` [INFO] [stdout] 5612d5a040fe9de7b4516d77988f4f7a443869364af0851fd533e6aed0e40f8f [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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8fdb6fa83cae7aa34b47cc8af5d57bae9fce25952bd9dc52d5206a9bf5700fcc [INFO] running `Command { std: "docker" "start" "-a" "8fdb6fa83cae7aa34b47cc8af5d57bae9fce25952bd9dc52d5206a9bf5700fcc", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.8 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling libc v0.2.66 [INFO] [stderr] Compiling syn v1.0.14 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Checking bytes v0.5.4 [INFO] [stderr] Checking fnv v1.0.6 [INFO] [stderr] Checking futures-core v0.3.4 [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Checking pin-project-lite v0.1.4 [INFO] [stderr] Checking itoa v0.4.5 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking pin-utils v0.1.0-alpha.4 [INFO] [stderr] Checking matches v0.1.8 [INFO] [stderr] Compiling serde v1.0.106 [INFO] [stderr] Checking futures-task v0.3.4 [INFO] [stderr] Compiling httparse v1.3.4 [INFO] [stderr] Checking futures-sink v0.3.4 [INFO] [stderr] Compiling ryu v1.0.2 [INFO] [stderr] Checking smallvec v1.2.0 [INFO] [stderr] Checking scopeguard v1.0.0 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking futures-util v0.3.4 [INFO] [stderr] Checking unicode-bidi v0.3.4 [INFO] [stderr] Compiling indexmap v1.3.1 [INFO] [stderr] Checking try-lock v0.2.2 [INFO] [stderr] Checking futures-channel v0.3.4 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Compiling crossbeam-utils v0.7.0 [INFO] [stderr] Compiling crossbeam-epoch v0.8.0 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Checking kv-log-macro v1.0.4 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking unicode-normalization v0.1.12 [INFO] [stderr] Checking tower-service v0.3.0 [INFO] [stderr] Checking futures-timer v2.0.2 [INFO] [stderr] Checking once_cell v1.3.1 [INFO] [stderr] Checking futures-io v0.3.4 [INFO] [stderr] Checking http v0.2.1 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling memoffset v0.5.3 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Checking async-task v1.3.1 [INFO] [stderr] Checking time v0.1.42 [INFO] [stderr] Checking num_cpus v1.12.0 [INFO] [stderr] Checking crossbeam-channel v0.4.2 [INFO] [stderr] Checking mio v0.6.21 [INFO] [stderr] Checking crossbeam-deque v0.7.2 [INFO] [stderr] Checking idna v0.2.0 [INFO] [stderr] Checking mio-uds v0.6.7 [INFO] [stderr] Checking url v2.1.1 [INFO] [stderr] Checking async-std v1.5.0 [INFO] [stderr] Checking http-body v0.3.1 [INFO] [stderr] Compiling tokio-macros v0.2.5 [INFO] [stderr] Compiling pin-project-internal v0.4.8 [INFO] [stderr] Compiling serde_derive v1.0.106 [INFO] [stderr] Compiling async-trait v0.1.30 [INFO] [stderr] Checking tokio v0.2.20 [INFO] [stderr] Checking pin-project v0.4.8 [INFO] [stderr] Checking tokio-util v0.2.0 [INFO] [stderr] Checking h2 v0.2.2 [INFO] [stderr] Checking hyper v0.13.5 [INFO] [stderr] Checking serde_json v1.0.52 [INFO] [stderr] Checking obsidian v0.2.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/router/response.rs:185:10 [INFO] [stdout] | [INFO] [stdout] 185 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `std::option::Option` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/router/route_trie.rs:114:37 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn insert_route(&mut self, path: &str, route: Route) { [INFO] [stdout] | ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 114 | val.route.add_route(route.method.clone(), route) [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: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `obsidian` (lib) due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: this value of type `std::option::Option` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/router/route_trie.rs:114:37 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn insert_route(&mut self, path: &str, route: Route) { [INFO] [stdout] | ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 114 | val.route.add_route(route.method.clone(), route) [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: this value of type `RouteValueResult` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/router/route_trie.rs:635:18 [INFO] [stdout] | [INFO] [stdout] 624 | let mut route_trie = RouteTrie::new(); [INFO] [stdout] | -------------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 630 | let result = route_trie.search_route("/"); [INFO] [stdout] | ------ [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 635 | Some(route) => { [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: this value of type `RouteValueResult` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/router/route_trie.rs:677:18 [INFO] [stdout] | [INFO] [stdout] 648 | let mut route_trie = RouteTrie::new(); [INFO] [stdout] | -------------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 657 | let result = route_trie.search_route("/normal/test/"); [INFO] [stdout] | ------ [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 672 | let result = route_trie.search_route("/ノーマル/テスト/"); [INFO] [stdout] | ------ [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 677 | Some(route) => { [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: this value of type `std::option::Option` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/router/route_trie.rs:724:17 [INFO] [stdout] | [INFO] [stdout] 703 | let mut route_trie = RouteTrie::new(); [INFO] [stdout] | -------------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 724 | let normal_result = route_trie.search_route(case.0); [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: this value of type `std::option::Option` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/router/route_trie.rs:761:17 [INFO] [stdout] | [INFO] [stdout] 743 | let mut route_trie = RouteTrie::new(); [INFO] [stdout] | -------------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 761 | let normal_result = route_trie.search_route(case); [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: this value of type `RouteValueResult` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/router.rs:184:18 [INFO] [stdout] | [INFO] [stdout] 173 | let mut router = Router::new(); [INFO] [stdout] | ---------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 177 | let result = router.search_route("router/test"); [INFO] [stdout] | ------ [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 178 | let fail_result = router.search_route("failed"); [INFO] [stdout] | ----------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 184 | Some(route) => { [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: this value of type `RouteValueResult` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/router.rs:208:18 [INFO] [stdout] | [INFO] [stdout] 197 | let mut router = Router::new(); [INFO] [stdout] | ---------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 201 | let result = router.search_route("router/test"); [INFO] [stdout] | ------ [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 202 | let fail_result = router.search_route("failed"); [INFO] [stdout] | ----------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 208 | Some(route) => { [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: this value of type `RouteValueResult` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/router.rs:232:18 [INFO] [stdout] | [INFO] [stdout] 221 | let mut router = Router::new(); [INFO] [stdout] | ---------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 225 | let result = router.search_route("router/test"); [INFO] [stdout] | ------ [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 226 | let fail_result = router.search_route("failed"); [INFO] [stdout] | ----------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 232 | Some(route) => { [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: this value of type `RouteValueResult` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/router.rs:256:18 [INFO] [stdout] | [INFO] [stdout] 245 | let mut router = Router::new(); [INFO] [stdout] | ---------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | let result = router.search_route("router/test"); [INFO] [stdout] | ------ [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 250 | let fail_result = router.search_route("failed"); [INFO] [stdout] | ----------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 256 | Some(route) => { [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: this value of type `RouteValueResult` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/router.rs:281:18 [INFO] [stdout] | [INFO] [stdout] 269 | let mut router = Router::new(); [INFO] [stdout] | ---------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 274 | let result = router.search_route("/"); [INFO] [stdout] | ------ [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 275 | let fail_result = router.search_route("failed"); [INFO] [stdout] | ----------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 281 | Some(route) => { [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: this value of type `RouteValueResult` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/router.rs:304:18 [INFO] [stdout] | [INFO] [stdout] 292 | let mut router = Router::new(); [INFO] [stdout] | ---------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 297 | let result = router.search_route("/middleware/child"); [INFO] [stdout] | ------ [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 298 | let fail_result = router.search_route("/"); [INFO] [stdout] | ----------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 304 | Some(route) => { [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: this value of type `RouteValueResult` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/router.rs:359:18 [INFO] [stdout] | [INFO] [stdout] 315 | let mut router = Router::new(); [INFO] [stdout] | ---------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 324 | let result = router.search_route("router/test"); [INFO] [stdout] | ------ [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 325 | let diff_result = router.search_route("route/diff_route"); [INFO] [stdout] | ----------- [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 326 | let fail_result = router.search_route("failed"); [INFO] [stdout] | ----------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 359 | Some(route) => { [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: this value of type `RouteValueResult` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/router.rs:404:18 [INFO] [stdout] | [INFO] [stdout] 372 | let mut main_router = Router::new(); [INFO] [stdout] | --------------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 384 | let result = main_router.search_route("router/test"); [INFO] [stdout] | ------ [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 385 | let sub_result = main_router.search_route("sub_router/router/test"); [INFO] [stdout] | ---------- [INFO] [stdout] | | [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] | these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 386 | let fail_result = main_router.search_route("failed"); [INFO] [stdout] | ----------- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 404 | Some(route) => { [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: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/context.rs:386:14 [INFO] [stdout] | [INFO] [stdout] 386 | #[derive(Deserialize, Serialize, Debug, PartialEq)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FormResult` [INFO] [stdout] 387 | struct FormResult { [INFO] [stdout] | ---------- `FormResult` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/context.rs:386:27 [INFO] [stdout] | [INFO] [stdout] 386 | #[derive(Deserialize, Serialize, Debug, PartialEq)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FormResult` [INFO] [stdout] 387 | struct FormResult { [INFO] [stdout] | ---------- `FormResult` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/context.rs:392:14 [INFO] [stdout] | [INFO] [stdout] 392 | #[derive(Deserialize, Serialize, Debug, PartialEq)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_FormExtraResult` [INFO] [stdout] 393 | struct FormExtraResult { [INFO] [stdout] | --------------- `FormExtraResult` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/context.rs:392:27 [INFO] [stdout] | [INFO] [stdout] 392 | #[derive(Deserialize, Serialize, Debug, PartialEq)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_FormExtraResult` [INFO] [stdout] 393 | struct FormExtraResult { [INFO] [stdout] | --------------- `FormExtraResult` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/context.rs:400:14 [INFO] [stdout] | [INFO] [stdout] 400 | #[derive(Deserialize, Serialize, Debug, PartialEq)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_JsonResult` [INFO] [stdout] 401 | struct JsonResult { [INFO] [stdout] | ---------- `JsonResult` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/context.rs:400:27 [INFO] [stdout] | [INFO] [stdout] 400 | #[derive(Deserialize, Serialize, Debug, PartialEq)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_JsonResult` [INFO] [stdout] 401 | struct JsonResult { [INFO] [stdout] | ---------- `JsonResult` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/context.rs:406:14 [INFO] [stdout] | [INFO] [stdout] 406 | #[derive(Deserialize, Serialize, Debug, PartialEq)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_JsonExtraResult` [INFO] [stdout] 407 | struct JsonExtraResult { [INFO] [stdout] | --------------- `JsonExtraResult` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/context.rs:406:27 [INFO] [stdout] | [INFO] [stdout] 406 | #[derive(Deserialize, Serialize, Debug, PartialEq)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_JsonExtraResult` [INFO] [stdout] 407 | struct JsonExtraResult { [INFO] [stdout] | --------------- `JsonExtraResult` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/router/req_deserializer.rs:442:14 [INFO] [stdout] | [INFO] [stdout] 442 | #[derive(Deserialize, Debug, PartialEq)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_VecAndSingleVariableStruct` [INFO] [stdout] 443 | struct VecAndSingleVariableStruct { [INFO] [stdout] | -------------------------- `VecAndSingleVariableStruct` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/router/req_deserializer.rs:448:14 [INFO] [stdout] | [INFO] [stdout] 448 | #[derive(Deserialize, Debug, PartialEq)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_VecStruct` [INFO] [stdout] 449 | struct VecStruct { [INFO] [stdout] | --------- `VecStruct` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/router/req_deserializer.rs:453:14 [INFO] [stdout] | [INFO] [stdout] 453 | #[derive(Deserialize, Debug, PartialEq)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_VecWithDefaultStruct` [INFO] [stdout] 454 | struct VecWithDefaultStruct { [INFO] [stdout] | -------------------- `VecWithDefaultStruct` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/router/response.rs:181:18 [INFO] [stdout] | [INFO] [stdout] 181 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Person` and up 2 bodies [INFO] [stdout] 182 | struct Person { [INFO] [stdout] | ------ `Person` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/router/response.rs:181:29 [INFO] [stdout] | [INFO] [stdout] 181 | #[derive(Serialize, Deserialize, Debug)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Person` and up 2 bodies [INFO] [stdout] 182 | struct Person { [INFO] [stdout] | ------ `Person` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 13 previous errors; 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `obsidian` (lib test) due to 14 previous errors; 14 warnings emitted [INFO] running `Command { std: "docker" "inspect" "8fdb6fa83cae7aa34b47cc8af5d57bae9fce25952bd9dc52d5206a9bf5700fcc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8fdb6fa83cae7aa34b47cc8af5d57bae9fce25952bd9dc52d5206a9bf5700fcc", kill_on_drop: false }` [INFO] [stdout] 8fdb6fa83cae7aa34b47cc8af5d57bae9fce25952bd9dc52d5206a9bf5700fcc