[INFO] fetching crate geotiff 0.0.2... [INFO] checking geotiff-0.0.2 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] extracting crate geotiff 0.0.2 into /workspace/builds/worker-4-tc1/source [INFO] validating manifest of crates.io crate geotiff 0.0.2 on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "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-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "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] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 28725d5a9506b8aba9561ea2d6ea28612c87b2ae569d7f2d3130a3bade471260 [INFO] running `Command { std: "docker" "start" "-a" "28725d5a9506b8aba9561ea2d6ea28612c87b2ae569d7f2d3130a3bade471260", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "28725d5a9506b8aba9561ea2d6ea28612c87b2ae569d7f2d3130a3bade471260", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "28725d5a9506b8aba9561ea2d6ea28612c87b2ae569d7f2d3130a3bade471260", kill_on_drop: false }` [INFO] [stdout] 28725d5a9506b8aba9561ea2d6ea28612c87b2ae569d7f2d3130a3bade471260 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cd767e98a8930ffaf10404d4bf738bb03ccc65140312fd97f75ae045b4722781 [INFO] running `Command { std: "docker" "start" "-a" "cd767e98a8930ffaf10404d4bf738bb03ccc65140312fd97f75ae045b4722781", 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-iter v0.1.45 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking num-complex v0.3.1 [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/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: 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] warning: 23 warnings emitted [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: 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] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_load` is never used [INFO] [stdout] --> tests/integration.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn test_load() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_load_3` is never used [INFO] [stdout] --> tests/integration.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn test_load_3() { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.41s [INFO] running `Command { std: "docker" "inspect" "cd767e98a8930ffaf10404d4bf738bb03ccc65140312fd97f75ae045b4722781", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cd767e98a8930ffaf10404d4bf738bb03ccc65140312fd97f75ae045b4722781", kill_on_drop: false }` [INFO] [stdout] cd767e98a8930ffaf10404d4bf738bb03ccc65140312fd97f75ae045b4722781