[INFO] fetching crate geotiff 0.0.2... [INFO] checking geotiff-0.0.2 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate geotiff 0.0.2 into /workspace/builds/worker-4-tc2/source [INFO] validating manifest of crates.io crate geotiff 0.0.2 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 geotiff 0.0.2 [INFO] finished tweaking crates.io crate geotiff 0.0.2 [INFO] tweaked toml for crates.io crate geotiff 0.0.2 written to /workspace/builds/worker-4-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 12 packages to latest compatible versions [INFO] [stderr] Adding num v0.3.1 (latest: v0.4.3) [INFO] [stderr] Adding num-bigint v0.3.3 (latest: v0.4.6) [INFO] [stderr] Adding num-complex v0.3.1 (latest: v0.4.6) [INFO] [stderr] Adding num-rational v0.3.2 (latest: v0.4.2) [INFO] [stderr] Adding num-traits v0.1.43 (latest: v0.2.19) [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] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] c28592b61af1f6e39ec8dcbc2fb798632c74a0b1978b2842b58ef3ca121e6796 [INFO] running `Command { std: "docker" "start" "-a" "c28592b61af1f6e39ec8dcbc2fb798632c74a0b1978b2842b58ef3ca121e6796", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c28592b61af1f6e39ec8dcbc2fb798632c74a0b1978b2842b58ef3ca121e6796", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c28592b61af1f6e39ec8dcbc2fb798632c74a0b1978b2842b58ef3ca121e6796", kill_on_drop: false }` [INFO] [stdout] c28592b61af1f6e39ec8dcbc2fb798632c74a0b1978b2842b58ef3ca121e6796 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 77c46a361a5e824d48e782a4ba02cfab45d1f7c9d24ca5c84195cfc20fb92ab9 [INFO] running `Command { std: "docker" "start" "-a" "77c46a361a5e824d48e782a4ba02cfab45d1f7c9d24ca5c84195cfc20fb92ab9", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Compiling num-bigint v0.3.3 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking num-complex v0.3.1 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking enum_primitive v0.1.1 [INFO] [stderr] Checking num v0.3.1 [INFO] [stderr] Checking geotiff v0.0.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `num::FromPrimitive` [INFO] [stdout] --> src/lib.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use num::FromPrimitive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian`, `LittleEndian`, `ReadBytesExt`, and `WriteBytesExt` [INFO] [stdout] --> src/lib.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use byteorder::{ReadBytesExt, WriteBytesExt, BigEndian, LittleEndian}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read` and `Seek` [INFO] [stdout] --> src/lib.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::{Read, Seek}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap` and `HashSet` [INFO] [stdout] --> src/lib.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BYTE`, `FLOAT`, `LONG`, `SBYTE`, `SHORT`, `SLONG`, and `SSHORT` [INFO] [stdout] --> src/reader.rs:8:40 [INFO] [stdout] | [INFO] [stdout] 8 | use lowlevel::{TIFFByteOrder, TIFFTag, BYTE, SBYTE, SHORT, SSHORT, LONG, SLONG, FLOAT, [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^ ^^^^^^ ^^^^ ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/tiff.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tiff::*` [INFO] [stdout] --> src/lib.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use tiff::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num::FromPrimitive` [INFO] [stdout] --> src/lib.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use num::FromPrimitive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian`, `LittleEndian`, `ReadBytesExt`, and `WriteBytesExt` [INFO] [stdout] --> src/lib.rs:8:17 [INFO] [stdout] | [INFO] [stdout] 8 | use byteorder::{ReadBytesExt, WriteBytesExt, BigEndian, LittleEndian}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read` and `Seek` [INFO] [stdout] --> src/lib.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::{Read, Seek}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashMap` and `HashSet` [INFO] [stdout] --> src/lib.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BYTE`, `FLOAT`, `LONG`, `SBYTE`, `SHORT`, `SLONG`, and `SSHORT` [INFO] [stdout] --> src/reader.rs:8:40 [INFO] [stdout] | [INFO] [stdout] 8 | use lowlevel::{TIFFByteOrder, TIFFTag, BYTE, SBYTE, SHORT, SSHORT, LONG, SLONG, FLOAT, [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^ ^^^^^^ ^^^^ ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/tiff.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tiff::*` [INFO] [stdout] --> src/lib.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use tiff::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:32:37 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn read(&self, reader: &mut SeekableReader) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | pub fn read(&self, reader: &mut dyn SeekableReader) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:40:48 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn read_byte_order(&self, reader: &mut SeekableReader) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 | pub fn read_byte_order(&self, reader: &mut dyn SeekableReader) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:54:52 [INFO] [stdout] | [INFO] [stdout] 54 | fn read_tiff(&self, reader: &mut SeekableReader) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 | fn read_tiff(&self, reader: &mut dyn SeekableReader) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:66:53 [INFO] [stdout] | [INFO] [stdout] 66 | fn read_magic(&self, reader: &mut SeekableReader) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | fn read_magic(&self, reader: &mut dyn SeekableReader) -> Result<()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:76:62 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn read_ifd_offset(&self, reader: &mut SeekableReader) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 76 | pub fn read_ifd_offset(&self, reader: &mut dyn SeekableReader) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:88:51 [INFO] [stdout] | [INFO] [stdout] 88 | fn read_IFD(&self, reader: &mut SeekableReader, ifd_offset: u32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 | fn read_IFD(&self, reader: &mut dyn SeekableReader, ifd_offset: u32) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:109:35 [INFO] [stdout] | [INFO] [stdout] 109 | fn read_n(&self, reader: &mut SeekableReader, bytes_to_read: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | fn read_n(&self, reader: &mut dyn SeekableReader, bytes_to_read: u64) -> Vec { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:163:49 [INFO] [stdout] | [INFO] [stdout] 163 | ... reader: &mut SeekableReader) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 163 | reader: &mut dyn SeekableReader) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:232:63 [INFO] [stdout] | [INFO] [stdout] 232 | fn read_image_data(&self, reader: &mut SeekableReader, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 232 | fn read_image_data(&self, reader: &mut dyn SeekableReader, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:32:37 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn read(&self, reader: &mut SeekableReader) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 32 | pub fn read(&self, reader: &mut dyn SeekableReader) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:40:48 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn read_byte_order(&self, reader: &mut SeekableReader) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 | pub fn read_byte_order(&self, reader: &mut dyn SeekableReader) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:54:52 [INFO] [stdout] | [INFO] [stdout] 54 | fn read_tiff(&self, reader: &mut SeekableReader) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 | fn read_tiff(&self, reader: &mut dyn SeekableReader) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:66:53 [INFO] [stdout] | [INFO] [stdout] 66 | fn read_magic(&self, reader: &mut SeekableReader) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 66 | fn read_magic(&self, reader: &mut dyn SeekableReader) -> Result<()> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:76:62 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn read_ifd_offset(&self, reader: &mut SeekableReader) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 76 | pub fn read_ifd_offset(&self, reader: &mut dyn SeekableReader) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:88:51 [INFO] [stdout] | [INFO] [stdout] 88 | fn read_IFD(&self, reader: &mut SeekableReader, ifd_offset: u32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 88 | fn read_IFD(&self, reader: &mut dyn SeekableReader, ifd_offset: u32) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:109:35 [INFO] [stdout] | [INFO] [stdout] 109 | fn read_n(&self, reader: &mut SeekableReader, bytes_to_read: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 109 | fn read_n(&self, reader: &mut dyn SeekableReader, bytes_to_read: u64) -> Vec { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:163:49 [INFO] [stdout] | [INFO] [stdout] 163 | ... reader: &mut SeekableReader) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 163 | reader: &mut dyn SeekableReader) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/reader.rs:232:63 [INFO] [stdout] | [INFO] [stdout] 232 | fn read_image_data(&self, reader: &mut SeekableReader, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 232 | fn read_image_data(&self, reader: &mut dyn SeekableReader, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lowlevel.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | _ => 0, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/lowlevel.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 48 | TagType::ByteTag => 1, [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] 49 | TagType::ASCIITag => 1, [INFO] [stdout] | ----------------- matches some of the same values [INFO] [stdout] 50 | TagType::ShortTag => 2, [INFO] [stdout] | ----------------- matches some of the same values [INFO] [stdout] 51 | TagType::LongTag => 4, [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 60 | _ => 0, [INFO] [stdout] | ^ ...and 8 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/lowlevel.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 60 | _ => 0, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/lowlevel.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 48 | TagType::ByteTag => 1, [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] 49 | TagType::ASCIITag => 1, [INFO] [stdout] | ----------------- matches some of the same values [INFO] [stdout] 50 | TagType::ShortTag => 2, [INFO] [stdout] | ----------------- matches some of the same values [INFO] [stdout] 51 | TagType::LongTag => 4, [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 60 | _ => 0, [INFO] [stdout] | ^ ...and 8 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/reader.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | _ => panic!("Tag not found!"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/reader.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 126 | &TagType::ByteTag => TagValue::ByteValue(vec[0]), [INFO] [stdout] | ----------------- matches some of the same values [INFO] [stdout] 127 | &TagType::ASCIITag => TagValue::AsciiValue(String::from_utf8_lossy(&vec).to_string()), [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] 128 | &TagType::ShortTag => TagValue::ShortValue(Endian::read_u16(&vec[..])), [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] 129 | &TagType::LongTag => TagValue::LongValue(Endian::read_u32(&vec[..])), [INFO] [stdout] | ----------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 140 | _ => panic!("Tag not found!"), [INFO] [stdout] | ^ ...and 8 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `j` [INFO] [stdout] --> src/reader.rs:268:17 [INFO] [stdout] | [INFO] [stdout] 268 | for j in 0..image_width { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rows_per_strip` [INFO] [stdout] --> src/reader.rs:274:13 [INFO] [stdout] | [INFO] [stdout] 274 | let rows_per_strip = match rows_per_strip.value[0] { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rows_per_strip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/reader.rs:298:17 [INFO] [stdout] | [INFO] [stdout] 298 | for i in 0..(*byte_count / image_depth as u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/reader.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | _ => panic!("Tag not found!"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/reader.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 126 | &TagType::ByteTag => TagValue::ByteValue(vec[0]), [INFO] [stdout] | ----------------- matches some of the same values [INFO] [stdout] 127 | &TagType::ASCIITag => TagValue::AsciiValue(String::from_utf8_lossy(&vec).to_string()), [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] 128 | &TagType::ShortTag => TagValue::ShortValue(Endian::read_u16(&vec[..])), [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] 129 | &TagType::LongTag => TagValue::LongValue(Endian::read_u32(&vec[..])), [INFO] [stdout] | ----------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 140 | _ => panic!("Tag not found!"), [INFO] [stdout] | ^ ...and 8 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `j` [INFO] [stdout] --> src/reader.rs:268:17 [INFO] [stdout] | [INFO] [stdout] 268 | for j in 0..image_width { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rows_per_strip` [INFO] [stdout] --> src/reader.rs:274:13 [INFO] [stdout] | [INFO] [stdout] 274 | let rows_per_strip = match rows_per_strip.value[0] { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rows_per_strip` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/reader.rs:298:17 [INFO] [stdout] | [INFO] [stdout] 298 | for i in 0..(*byte_count / image_depth as u32) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [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/reader.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | Ok(Box::new(TIFF { [INFO] [stdout] | ____________^ [INFO] [stdout] 60 | | ifds: vec![ifd], [INFO] [stdout] 61 | | image_data, [INFO] [stdout] 62 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |__________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/reader.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | &img.push(Vec::with_capacity(image_width as usize)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 267 | let _ = &img.push(Vec::with_capacity(image_width as usize)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/reader.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 269 | &img[i as usize].push(vec![0; 1]); // TODO To be changed to take into account SamplesPerPixel! [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 269 | let _ = &img[i as usize].push(vec![0; 1]); // TODO To be changed to take into account SamplesPerPixel! [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 23 warnings emitted [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/reader.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | Ok(Box::new(TIFF { [INFO] [stdout] | ____________^ [INFO] [stdout] 60 | | ifds: vec![ifd], [INFO] [stdout] 61 | | image_data, [INFO] [stdout] 62 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |__________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/reader.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | &img.push(Vec::with_capacity(image_width as usize)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 267 | let _ = &img.push(Vec::with_capacity(image_width as usize)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/reader.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 269 | &img[i as usize].push(vec![0; 1]); // TODO To be changed to take into account SamplesPerPixel! [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 269 | let _ = &img[i as usize].push(vec![0; 1]); // TODO To be changed to take into account SamplesPerPixel! [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `geotiff` (lib) due to 2 previous errors; 23 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 1 previous error; 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `geotiff` (lib test) due to 2 previous errors; 23 warnings emitted [INFO] running `Command { std: "docker" "inspect" "77c46a361a5e824d48e782a4ba02cfab45d1f7c9d24ca5c84195cfc20fb92ab9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "77c46a361a5e824d48e782a4ba02cfab45d1f7c9d24ca5c84195cfc20fb92ab9", kill_on_drop: false }` [INFO] [stdout] 77c46a361a5e824d48e782a4ba02cfab45d1f7c9d24ca5c84195cfc20fb92ab9