[INFO] fetching crate pdf-extract 0.7.9... [INFO] checking pdf-extract-0.7.9 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate pdf-extract 0.7.9 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate pdf-extract 0.7.9 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 pdf-extract 0.7.9 [INFO] finished tweaking crates.io crate pdf-extract 0.7.9 [INFO] tweaked toml for crates.io crate pdf-extract 0.7.9 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate crates.io crate pdf-extract 0.7.9 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" "+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] 857f62e46c11dd34f535beeff155c8238ee2b95a703e75d4cb3c96827cb30ba8 [INFO] running `Command { std: "docker" "start" "-a" "857f62e46c11dd34f535beeff155c8238ee2b95a703e75d4cb3c96827cb30ba8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "857f62e46c11dd34f535beeff155c8238ee2b95a703e75d4cb3c96827cb30ba8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "857f62e46c11dd34f535beeff155c8238ee2b95a703e75d4cb3c96827cb30ba8", kill_on_drop: false }` [INFO] [stdout] 857f62e46c11dd34f535beeff155c8238ee2b95a703e75d4cb3c96827cb30ba8 [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] 37a494d1937cf2099c368a8635083f183facf695e73d8bb56d766d1b8d1454d2 [INFO] running `Command { std: "docker" "start" "-a" "37a494d1937cf2099c368a8635083f183facf695e73d8bb56d766d1b8d1454d2", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.142 [INFO] [stderr] Compiling cc v1.0.79 [INFO] [stderr] Checking tinyvec_macros v0.1.0 [INFO] [stderr] Checking untrusted v0.7.1 [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Checking once_cell v1.17.1 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Checking cfg-if v0.1.3 [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Checking itoa v1.0.1 [INFO] [stderr] Checking num-conv v0.1.0 [INFO] [stderr] Checking time-core v0.1.2 [INFO] [stderr] Checking percent-encoding v2.2.0 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Checking log v0.4.6 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking unicode-bidi v0.3.13 [INFO] [stderr] Compiling rustls v0.20.8 [INFO] [stderr] Checking miniz_oxide v0.5.1 [INFO] [stderr] Checking pom v1.1.0 [INFO] [stderr] Checking form_urlencoded v1.1.0 [INFO] [stderr] Checking weezl v0.1.7 [INFO] [stderr] Checking linked-hash-map v0.5.3 [INFO] [stderr] Checking deranged v0.3.11 [INFO] [stderr] Checking md5 v0.7.0 [INFO] [stderr] Checking base64 v0.13.1 [INFO] [stderr] Checking postscript v0.14.0 [INFO] [stderr] Compiling num-traits v0.2.11 [INFO] [stderr] Checking adobe-cmap-parser v0.4.0 [INFO] [stderr] Checking type1-encoding-parser v0.1.0 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Checking unicode-normalization v0.1.19 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Checking flate2 v1.0.23 [INFO] [stderr] Checking euclid v0.20.14 [INFO] [stderr] Checking idna v0.3.0 [INFO] [stderr] Checking lopdf v0.32.0 [INFO] [stderr] Checking url v2.3.1 [INFO] [stderr] Checking pdf-extract v0.7.9 (/opt/rustwide/workdir) [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> src/lib.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use std::result::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `Result` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> src/lib.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub use lopdf::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> src/lib.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use std::result::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(hidden_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking webpki v0.22.0 [INFO] [stderr] Checking sct v0.7.0 [INFO] [stderr] Checking webpki-roots v0.22.6 [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/lib.rs:473:65 [INFO] [stdout] | [INFO] [stdout] 473 | ... Entry::Occupied(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `doc` is never read [INFO] [stdout] --> src/lib.rs:314:5 [INFO] [stdout] | [INFO] [stdout] 312 | struct PdfType3Font<'a> { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 313 | font: &'a Dictionary, [INFO] [stdout] 314 | doc: &'a Document, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PdfType3Font` has a derived impl for the trait `Clone`, 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: fields `contents`, `size`, `bits_per_sample`, `encode`, and `decode` are never read [INFO] [stdout] --> src/lib.rs:1052:5 [INFO] [stdout] | [INFO] [stdout] 1049 | struct Type0Func { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 1052 | contents: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 1053 | size: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 1054 | bits_per_sample: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 1055 | encode: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 1056 | decode: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Type0Func` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `c0`, `c1`, and `n` are never read [INFO] [stdout] --> src/lib.rs:1082:5 [INFO] [stdout] | [INFO] [stdout] 1081 | struct Type2Func { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 1082 | c0: Option>, [INFO] [stdout] | ^^ [INFO] [stdout] 1083 | c1: Option>, [INFO] [stdout] | ^^ [INFO] [stdout] 1084 | n: f64, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `Type2Func` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/lib.rs:1089:11 [INFO] [stdout] | [INFO] [stdout] 1089 | Type0(Type0Func), [INFO] [stdout] | ----- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Function` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 1089 | Type0(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/lib.rs:1090:11 [INFO] [stdout] | [INFO] [stdout] 1090 | Type2(Type2Func), [INFO] [stdout] | ----- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Function` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 1090 | Type2(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `white_point`, `black_point`, and `gamma` are never read [INFO] [stdout] --> src/lib.rs:1307:5 [INFO] [stdout] | [INFO] [stdout] 1306 | pub struct CalGray { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 1307 | white_point: [f64; 3], [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 1308 | black_point: Option<[f64; 3]>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 1309 | gamma: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CalGray` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `white_point`, `black_point`, `gamma`, and `matrix` are never read [INFO] [stdout] --> src/lib.rs:1314:5 [INFO] [stdout] | [INFO] [stdout] 1313 | pub struct CalRGB { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 1314 | white_point: [f64; 3], [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 1315 | black_point: Option<[f64; 3]>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 1316 | gamma: Option<[f64; 3]>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 1317 | matrix: Option> [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CalRGB` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `white_point`, `black_point`, and `range` are never read [INFO] [stdout] --> src/lib.rs:1322:5 [INFO] [stdout] | [INFO] [stdout] 1321 | pub struct Lab { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 1322 | white_point: [f64; 3], [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 1323 | black_point: Option<[f64; 3]>, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 1324 | range: Option<[f64; 4]>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Lab` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `alternate_space`, and `tint_transform` are never read [INFO] [stdout] --> src/lib.rs:1340:5 [INFO] [stdout] | [INFO] [stdout] 1339 | pub struct Separation { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 1340 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 1341 | alternate_space: AlternateColorSpace, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 1342 | tint_transform: Box, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Separation` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [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/lib.rs:212:22 [INFO] [stdout] | [INFO] [stdout] 212 | .map(|x| T::from_obj(doc, x).expect("wrong type")) [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/lib.rs:223:26 [INFO] [stdout] | [INFO] [stdout] 223 | .map(|x| T::from_obj(doc, x).expect("wrong type")); [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/lib.rs:233:26 [INFO] [stdout] | [INFO] [stdout] 233 | .map(|x| T::from_obj(doc, x).expect("wrong type")); [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/lib.rs:290:48 [INFO] [stdout] | [INFO] [stdout] 290 | maybe_get_obj(doc, dict, key).and_then(|n| n.as_name().ok()).map(|n| pdf_to_utf8(n)) [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/lib.rs:294:48 [INFO] [stdout] | [INFO] [stdout] 294 | maybe_get_obj(doc, dict, key).and_then(|n| n.as_name().ok()) [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/lib.rs:298:48 [INFO] [stdout] | [INFO] [stdout] 298 | maybe_get_obj(doc, dict, key).and_then(|n| n.as_array().ok()) [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/lib.rs:615:68 [INFO] [stdout] | [INFO] [stdout] 615 | maybe_get_obj(self.doc, self.font, b"Widths").map(|widths| widths.as_array().expect("Widths should be an array")) [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/lib.rs:626:79 [INFO] [stdout] | [INFO] [stdout] 626 | ... maybe_get_obj(self.doc, self.font, b"FontDescriptor").and_then(|desc| desc.as_dict().ok()).map(|desc| PdfFontDescriptor{desc: desc,... [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/lib.rs:1774:94 [INFO] [stdout] | [INFO] [stdout] 1774 | let resources = maybe_get_obj(&doc, &xf.dict, b"Resources").and_then(|n| n.as_dict().ok()).unwrap_or(resources); [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/lib.rs:2050:21 [INFO] [stdout] | [INFO] [stdout] 2048 | pub fn new(writer: W) -> PlainTextOutput { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 2049 | PlainTextOutput{ [INFO] [stdout] 2050 | writer: writer.convert(), [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 10 previous errors; 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `pdf-extract` (lib) due to 11 previous errors; 11 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "37a494d1937cf2099c368a8635083f183facf695e73d8bb56d766d1b8d1454d2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "37a494d1937cf2099c368a8635083f183facf695e73d8bb56d766d1b8d1454d2", kill_on_drop: false }` [INFO] [stdout] 37a494d1937cf2099c368a8635083f183facf695e73d8bb56d766d1b8d1454d2