[INFO] fetching crate imagemusic 1.0.1... [INFO] testing imagemusic-1.0.1 against 1.85.0 for beta-1.86-1 [INFO] extracting crate imagemusic 1.0.1 into /workspace/builds/worker-4-tc1/source [INFO] validating manifest of crates.io crate imagemusic 1.0.1 on toolchain 1.85.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.85.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate imagemusic 1.0.1 [INFO] finished tweaking crates.io crate imagemusic 1.0.1 [INFO] tweaked toml for crates.io crate imagemusic 1.0.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate crates.io crate imagemusic 1.0.1 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" "+1.85.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen v0.2.63 [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.63 [INFO] [stderr] Downloaded quote v1.0.7 [INFO] [stderr] Downloaded web-sys v0.3.40 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.63 [INFO] [stderr] Downloaded criterion-plot v0.4.3 [INFO] [stderr] Downloaded bincode v1.2.1 [INFO] [stderr] Downloaded oorandom v11.1.2 [INFO] [stderr] Downloaded tinytemplate v1.1.0 [INFO] [stderr] Downloaded base64 v0.12.1 [INFO] [stderr] Downloaded bstr v0.2.13 [INFO] [stderr] Downloaded color_quant v1.0.1 [INFO] [stderr] Downloaded either v1.5.3 [INFO] [stderr] Downloaded quick-xml v0.17.2 [INFO] [stderr] Downloaded libc v0.2.71 [INFO] [stderr] Downloaded criterion v0.3.3 [INFO] [stderr] Downloaded gif v0.10.3 [INFO] [stderr] Downloaded image v0.23.6 [INFO] [stderr] Downloaded plotters v0.2.15 [INFO] [stderr] Downloaded regex-syntax v0.6.18 [INFO] [stderr] Downloaded itoa v0.4.6 [INFO] [stderr] Downloaded cast v0.2.3 [INFO] [stderr] Downloaded csv v1.1.3 [INFO] [stderr] Downloaded proc-macro2 v1.0.18 [INFO] [stderr] Downloaded clap v2.33.1 [INFO] [stderr] Downloaded regex-automata v0.1.9 [INFO] [stderr] Downloaded half v1.6.0 [INFO] [stderr] Downloaded serde_cbor v0.11.1 [INFO] [stderr] Downloaded adler v0.2.2 [INFO] [stderr] Downloaded miniz_oxide v0.4.0 [INFO] [stderr] Downloaded flate2 v1.0.16 [INFO] [stderr] Downloaded bytemuck v1.2.0 [INFO] [stderr] Downloaded memoffset v0.5.4 [INFO] [stderr] Downloaded crossbeam-deque v0.7.3 [INFO] [stderr] Downloaded hermit-abi v0.1.14 [INFO] [stderr] Downloaded num_cpus v1.13.0 [INFO] [stderr] Downloaded rayon-core v1.7.1 [INFO] [stderr] Downloaded rayon v1.3.1 [INFO] [stderr] Downloaded jpeg-decoder v0.1.19 [INFO] [stderr] Downloaded num-iter v0.1.41 [INFO] [stderr] Downloaded num-integer v0.1.43 [INFO] [stderr] Downloaded num-rational v0.3.0 [INFO] [stderr] Downloaded num-traits v0.2.12 [INFO] [stderr] Downloaded deflate v0.8.4 [INFO] [stderr] Downloaded png v0.16.6 [INFO] [stderr] Downloaded scoped_threadpool v0.1.9 [INFO] [stderr] Downloaded lzw v0.10.0 [INFO] [stderr] Downloaded adler32 v1.1.0 [INFO] [stderr] Downloaded miniz_oxide v0.3.7 [INFO] [stderr] Downloaded tiff v0.5.0 [INFO] [stderr] Downloaded minidom v0.12.0 [INFO] [stderr] Downloaded ppv-lite86 v0.2.8 [INFO] [stderr] Downloaded getrandom v0.1.14 [INFO] [stderr] Downloaded aho-corasick v0.7.10 [INFO] [stderr] Downloaded thread_local v1.0.1 [INFO] [stderr] Downloaded regex v1.3.9 [INFO] [stderr] Downloaded toml v0.5.6 [INFO] [stderr] Downloaded js-sys v0.3.40 [INFO] [stderr] Downloaded serde_derive v1.0.111 [INFO] [stderr] Downloaded serde v1.0.111 [INFO] [stderr] Downloaded serde_json v1.0.55 [INFO] [stderr] Downloaded bumpalo v3.4.0 [INFO] [stderr] Downloaded syn v1.0.30 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.63 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.63 [INFO] [stderr] Downloaded csv-core v0.1.10 [INFO] [stderr] Downloaded itertools v0.9.0 [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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 74a1acfa592569f8f2ac4a126e31bac46e20a5f64d046bc41304dc677065628e [INFO] running `Command { std: "docker" "start" "-a" "74a1acfa592569f8f2ac4a126e31bac46e20a5f64d046bc41304dc677065628e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "74a1acfa592569f8f2ac4a126e31bac46e20a5f64d046bc41304dc677065628e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "74a1acfa592569f8f2ac4a126e31bac46e20a5f64d046bc41304dc677065628e", kill_on_drop: false }` [INFO] [stdout] 74a1acfa592569f8f2ac4a126e31bac46e20a5f64d046bc41304dc677065628e [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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c304366a6a8fd988c894e5b83022c46c3d7c5cc4f73f4c106ad38d16d96f844d [INFO] running `Command { std: "docker" "start" "-a" "c304366a6a8fd988c894e5b83022c46c3d7c5cc4f73f4c106ad38d16d96f844d", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Compiling proc-macro2 v1.0.18 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.30 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling libc v0.2.71 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.63 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling serde v1.0.111 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling memoffset v0.5.4 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling bumpalo v3.4.0 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling rayon-core v1.7.1 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling num-integer v0.1.43 [INFO] [stderr] Compiling serde_json v1.0.55 [INFO] [stderr] Compiling adler32 v1.1.0 [INFO] [stderr] Compiling crc32fast v1.2.0 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling crossbeam-queue v0.2.3 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling rayon v1.3.1 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling wasm-bindgen v0.2.63 [INFO] [stderr] Compiling crossbeam-deque v0.7.3 [INFO] [stderr] Compiling itoa v0.4.6 [INFO] [stderr] Compiling miniz_oxide v0.3.7 [INFO] [stderr] Compiling num-iter v0.1.41 [INFO] [stderr] Compiling num-rational v0.3.0 [INFO] [stderr] Compiling lzw v0.10.0 [INFO] [stderr] Compiling either v1.5.3 [INFO] [stderr] Compiling deflate v0.8.4 [INFO] [stderr] Compiling color_quant v1.0.1 [INFO] [stderr] Compiling adler v0.2.2 [INFO] [stderr] Compiling gif v0.10.3 [INFO] [stderr] Compiling tiff v0.5.0 [INFO] [stderr] Compiling miniz_oxide v0.4.0 [INFO] [stderr] Compiling png v0.16.6 [INFO] [stderr] Compiling aho-corasick v0.7.10 [INFO] [stderr] Compiling quick-xml v0.17.2 [INFO] [stderr] Compiling thread_local v1.0.1 [INFO] [stderr] Compiling bytemuck v1.2.0 [INFO] [stderr] Compiling regex-syntax v0.6.18 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling minidom v0.12.0 [INFO] [stderr] Compiling flate2 v1.0.16 [INFO] [stderr] Compiling base64 v0.12.1 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.63 [INFO] [stderr] Compiling jpeg-decoder v0.1.19 [INFO] [stderr] Compiling serde_derive v1.0.111 [INFO] [stderr] Compiling image v0.23.6 [INFO] [stderr] Compiling regex v1.3.9 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.63 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.63 [INFO] [stderr] Compiling bincode v1.2.1 [INFO] [stderr] Compiling toml v0.5.6 [INFO] [stderr] Compiling js-sys v0.3.40 [INFO] [stderr] Compiling web-sys v0.3.40 [INFO] [stderr] Compiling imagemusic v1.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/lib.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | Box::from_raw(song); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 70 | let _ = Box::from_raw(song); [INFO] [stdout] | +++++++ [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/instrument.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Serialize, Deserialize, Copy, Clone, Hash, PartialEq, Eq, PartialOrd, Ord)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Instrument` [INFO] [stdout] 5 | pub enum Instrument { [INFO] [stdout] | ---------- `Instrument` 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: `#[warn(non_local_definitions)]` on by default [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/instrument.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Serialize, Deserialize, Copy, Clone, Hash, PartialEq, Eq, PartialOrd, Ord)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Instrument` [INFO] [stdout] 5 | pub enum Instrument { [INFO] [stdout] | ---------- `Instrument` 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 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: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/musicxml.rs:350:22 [INFO] [stdout] | [INFO] [stdout] 350 | for part_list in root.children().find(|e| e.name() == "part-list") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 350 | while let Some(part_list) = root.children().find(|e| e.name() == "part-list") { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 350 | if let Some(part_list) = root.children().find(|e| e.name() == "part-list") { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/musicxml.rs:352:23 [INFO] [stdout] | [INFO] [stdout] 352 | for id in score_part.attr("id") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 352 | while let Some(id) = score_part.attr("id") { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 352 | if let Some(id) = score_part.attr("id") { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/musicxml.rs:353:29 [INFO] [stdout] | [INFO] [stdout] 353 | for name in score_part.children().find(|e| e.name() == "part-name") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 353 | while let Some(name) = score_part.children().find(|e| e.name() == "part-name") { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 353 | if let Some(name) = score_part.children().find(|e| e.name() == "part-name") { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [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/note.rs:9:30 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NoteName` [INFO] [stdout] 10 | pub enum NoteName { [INFO] [stdout] | -------- `NoteName` 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 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/note.rs:9:41 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NoteName` [INFO] [stdout] 10 | pub enum NoteName { [INFO] [stdout] | -------- `NoteName` 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 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/song.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Song` [INFO] [stdout] 13 | pub struct Song { [INFO] [stdout] | ---- `Song` 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 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/song.rs:12:28 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Song` [INFO] [stdout] 13 | pub struct Song { [INFO] [stdout] | ---- `Song` 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 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/voice.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Voice` [INFO] [stdout] 11 | pub struct Voice { [INFO] [stdout] | ----- `Voice` 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 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/voice.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Voice` [INFO] [stdout] 11 | pub struct Voice { [INFO] [stdout] | ----- `Voice` 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 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: panic message contains braces [INFO] [stdout] --> src/bin/render.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | panic!("imagemusic {input song} {output pcm}"); [INFO] [stdout] | ^ ^ ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: this message is not used as a format string, but will be in Rust 2021 [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to use the message literally [INFO] [stdout] | [INFO] [stdout] 9 | panic!("{}", "imagemusic {input song} {output pcm}"); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message contains braces [INFO] [stdout] --> src/bin/from-musicxml.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | panic!("imagemusic {input song}"); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: this message is not used as a format string, but will be in Rust 2021 [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to use the message literally [INFO] [stdout] | [INFO] [stdout] 10 | panic!("{}", "imagemusic {input song}"); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message contains braces [INFO] [stdout] --> src/bin/decode.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | panic!("imagemusic {input song}"); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: this message is not used as a format string, but will be in Rust 2021 [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to use the message literally [INFO] [stdout] | [INFO] [stdout] 9 | panic!("{}", "imagemusic {input song}"); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message contains braces [INFO] [stdout] --> src/bin/encode.rs:12:28 [INFO] [stdout] | [INFO] [stdout] 12 | panic!("imagemusic {input song} {input image} {output image}"); [INFO] [stdout] | ^ ^ ^ ^ ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: this message is not used as a format string, but will be in Rust 2021 [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to use the message literally [INFO] [stdout] | [INFO] [stdout] 12 | panic!("{}", "imagemusic {input song} {input image} {output image}"); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 09s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.17.2, wasm-bindgen v0.2.63 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "c304366a6a8fd988c894e5b83022c46c3d7c5cc4f73f4c106ad38d16d96f844d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c304366a6a8fd988c894e5b83022c46c3d7c5cc4f73f4c106ad38d16d96f844d", kill_on_drop: false }` [INFO] [stdout] c304366a6a8fd988c894e5b83022c46c3d7c5cc4f73f4c106ad38d16d96f844d [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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5abb1706638916a18fa567be36a64ef1274ab38fdecf01e85b0e6f6ba23889f5 [INFO] running `Command { std: "docker" "start" "-a" "5abb1706638916a18fa567be36a64ef1274ab38fdecf01e85b0e6f6ba23889f5", kill_on_drop: false }` [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling libc v0.2.71 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling serde v1.0.111 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling memoffset v0.5.4 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling itoa v0.4.6 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Compiling either v1.5.3 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.63 [INFO] [stderr] Compiling adler32 v1.1.0 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling crossbeam-queue v0.2.3 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling crossbeam-deque v0.7.3 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling rayon-core v1.7.1 [INFO] [stderr] Compiling num-integer v0.1.43 [INFO] [stderr] Compiling crc32fast v1.2.0 [INFO] [stderr] Compiling cast v0.2.3 [INFO] [stderr] Compiling miniz_oxide v0.3.7 [INFO] [stderr] Compiling lzw v0.10.0 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling deflate v0.8.4 [INFO] [stderr] Compiling rayon v1.3.1 [INFO] [stderr] Compiling aho-corasick v0.7.10 [INFO] [stderr] Compiling regex-automata v0.1.9 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.63 [INFO] [stderr] Compiling thread_local v1.0.1 [INFO] [stderr] Compiling regex-syntax v0.6.18 [INFO] [stderr] Compiling color_quant v1.0.1 [INFO] [stderr] Compiling unicode-width v0.1.8 [INFO] [stderr] Compiling adler v0.2.2 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling miniz_oxide v0.4.0 [INFO] [stderr] Compiling gif v0.10.3 [INFO] [stderr] Compiling png v0.16.6 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.63 [INFO] [stderr] Compiling serde_json v1.0.55 [INFO] [stderr] Compiling bstr v0.2.13 [INFO] [stderr] Compiling tiff v0.5.0 [INFO] [stderr] Compiling num-rational v0.3.0 [INFO] [stderr] Compiling jpeg-decoder v0.1.19 [INFO] [stderr] Compiling num-iter v0.1.41 [INFO] [stderr] Compiling itertools v0.9.0 [INFO] [stderr] Compiling csv-core v0.1.10 [INFO] [stderr] Compiling regex v1.3.9 [INFO] [stderr] Compiling quick-xml v0.17.2 [INFO] [stderr] Compiling half v1.6.0 [INFO] [stderr] Compiling bytemuck v1.2.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.8 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling walkdir v2.3.1 [INFO] [stderr] Compiling wasm-bindgen v0.2.63 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling minidom v0.12.0 [INFO] [stderr] Compiling image v0.23.6 [INFO] [stderr] Compiling tinytemplate v1.1.0 [INFO] [stderr] Compiling serde_cbor v0.11.1 [INFO] [stderr] Compiling criterion-plot v0.4.3 [INFO] [stderr] Compiling js-sys v0.3.40 [INFO] [stderr] Compiling csv v1.1.3 [INFO] [stderr] Compiling toml v0.5.6 [INFO] [stderr] Compiling bincode v1.2.1 [INFO] [stderr] Compiling flate2 v1.0.16 [INFO] [stderr] Compiling clap v2.33.1 [INFO] [stderr] Compiling rand_pcg v0.2.1 [INFO] [stderr] Compiling plotters v0.2.15 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling oorandom v11.1.2 [INFO] [stderr] Compiling base64 v0.12.1 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling web-sys v0.3.40 [INFO] [stderr] Compiling criterion v0.3.3 [INFO] [stderr] Compiling imagemusic v1.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/lib.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | Box::from_raw(song); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 70 | let _ = Box::from_raw(song); [INFO] [stdout] | +++++++ [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/instrument.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Serialize, Deserialize, Copy, Clone, Hash, PartialEq, Eq, PartialOrd, Ord)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Instrument` [INFO] [stdout] 5 | pub enum Instrument { [INFO] [stdout] | ---------- `Instrument` 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: `#[warn(non_local_definitions)]` on by default [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/instrument.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Serialize, Deserialize, Copy, Clone, Hash, PartialEq, Eq, PartialOrd, Ord)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Instrument` [INFO] [stdout] 5 | pub enum Instrument { [INFO] [stdout] | ---------- `Instrument` 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 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: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/musicxml.rs:350:22 [INFO] [stdout] | [INFO] [stdout] 350 | for part_list in root.children().find(|e| e.name() == "part-list") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 350 | while let Some(part_list) = root.children().find(|e| e.name() == "part-list") { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 350 | if let Some(part_list) = root.children().find(|e| e.name() == "part-list") { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/musicxml.rs:352:23 [INFO] [stdout] | [INFO] [stdout] 352 | for id in score_part.attr("id") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 352 | while let Some(id) = score_part.attr("id") { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 352 | if let Some(id) = score_part.attr("id") { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/musicxml.rs:353:29 [INFO] [stdout] | [INFO] [stdout] 353 | for name in score_part.children().find(|e| e.name() == "part-name") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 353 | while let Some(name) = score_part.children().find(|e| e.name() == "part-name") { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 353 | if let Some(name) = score_part.children().find(|e| e.name() == "part-name") { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [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/note.rs:9:30 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NoteName` [INFO] [stdout] 10 | pub enum NoteName { [INFO] [stdout] | -------- `NoteName` 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 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/note.rs:9:41 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NoteName` [INFO] [stdout] 10 | pub enum NoteName { [INFO] [stdout] | -------- `NoteName` 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 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/song.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Song` [INFO] [stdout] 13 | pub struct Song { [INFO] [stdout] | ---- `Song` 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 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/song.rs:12:28 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Song` [INFO] [stdout] 13 | pub struct Song { [INFO] [stdout] | ---- `Song` 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 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/voice.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Voice` [INFO] [stdout] 11 | pub struct Voice { [INFO] [stdout] | ----- `Voice` 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 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/voice.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Voice` [INFO] [stdout] 11 | pub struct Voice { [INFO] [stdout] | ----- `Voice` 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 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: panic message contains braces [INFO] [stdout] --> src/bin/decode.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | panic!("imagemusic {input song}"); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: this message is not used as a format string, but will be in Rust 2021 [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to use the message literally [INFO] [stdout] | [INFO] [stdout] 9 | panic!("{}", "imagemusic {input song}"); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message contains braces [INFO] [stdout] --> src/bin/render.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | panic!("imagemusic {input song} {output pcm}"); [INFO] [stdout] | ^ ^ ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: this message is not used as a format string, but will be in Rust 2021 [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to use the message literally [INFO] [stdout] | [INFO] [stdout] 9 | panic!("{}", "imagemusic {input song} {output pcm}"); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message contains braces [INFO] [stdout] --> src/bin/from-musicxml.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | panic!("imagemusic {input song}"); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: this message is not used as a format string, but will be in Rust 2021 [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to use the message literally [INFO] [stdout] | [INFO] [stdout] 10 | panic!("{}", "imagemusic {input song}"); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message contains braces [INFO] [stdout] --> src/bin/encode.rs:12:28 [INFO] [stdout] | [INFO] [stdout] 12 | panic!("imagemusic {input song} {input image} {output image}"); [INFO] [stdout] | ^ ^ ^ ^ ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: this message is not used as a format string, but will be in Rust 2021 [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to use the message literally [INFO] [stdout] | [INFO] [stdout] 12 | panic!("{}", "imagemusic {input song} {input image} {output image}"); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/lib.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | Box::from_raw(song); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 70 | let _ = Box::from_raw(song); [INFO] [stdout] | +++++++ [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/instrument.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Serialize, Deserialize, Copy, Clone, Hash, PartialEq, Eq, PartialOrd, Ord)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Instrument` [INFO] [stdout] 5 | pub enum Instrument { [INFO] [stdout] | ---------- `Instrument` 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: `#[warn(non_local_definitions)]` on by default [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/instrument.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Serialize, Deserialize, Copy, Clone, Hash, PartialEq, Eq, PartialOrd, Ord)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Instrument` [INFO] [stdout] 5 | pub enum Instrument { [INFO] [stdout] | ---------- `Instrument` 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 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: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/musicxml.rs:350:22 [INFO] [stdout] | [INFO] [stdout] 350 | for part_list in root.children().find(|e| e.name() == "part-list") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 350 | while let Some(part_list) = root.children().find(|e| e.name() == "part-list") { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 350 | if let Some(part_list) = root.children().find(|e| e.name() == "part-list") { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/musicxml.rs:352:23 [INFO] [stdout] | [INFO] [stdout] 352 | for id in score_part.attr("id") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 352 | while let Some(id) = score_part.attr("id") { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 352 | if let Some(id) = score_part.attr("id") { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/musicxml.rs:353:29 [INFO] [stdout] | [INFO] [stdout] 353 | for name in score_part.children().find(|e| e.name() == "part-name") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 353 | while let Some(name) = score_part.children().find(|e| e.name() == "part-name") { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 353 | if let Some(name) = score_part.children().find(|e| e.name() == "part-name") { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [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/note.rs:9:30 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NoteName` [INFO] [stdout] 10 | pub enum NoteName { [INFO] [stdout] | -------- `NoteName` 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 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/note.rs:9:41 [INFO] [stdout] | [INFO] [stdout] 9 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NoteName` [INFO] [stdout] 10 | pub enum NoteName { [INFO] [stdout] | -------- `NoteName` 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 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/song.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Song` [INFO] [stdout] 13 | pub struct Song { [INFO] [stdout] | ---- `Song` 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 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/song.rs:12:28 [INFO] [stdout] | [INFO] [stdout] 12 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Song` [INFO] [stdout] 13 | pub struct Song { [INFO] [stdout] | ---- `Song` 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 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/voice.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Voice` [INFO] [stdout] 11 | pub struct Voice { [INFO] [stdout] | ----- `Voice` 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 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/voice.rs:10:28 [INFO] [stdout] | [INFO] [stdout] 10 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Voice` [INFO] [stdout] 11 | pub struct Voice { [INFO] [stdout] | ----- `Voice` 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 warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 12s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.3, quick-xml v0.17.2, wasm-bindgen v0.2.63 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "5abb1706638916a18fa567be36a64ef1274ab38fdecf01e85b0e6f6ba23889f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5abb1706638916a18fa567be36a64ef1274ab38fdecf01e85b0e6f6ba23889f5", kill_on_drop: false }` [INFO] [stdout] 5abb1706638916a18fa567be36a64ef1274ab38fdecf01e85b0e6f6ba23889f5 [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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4fd9ec0916fc7cdc28b75c510aa933cb51970609e6d86e489cf4d9b2cec8bab9 [INFO] running `Command { std: "docker" "start" "-a" "4fd9ec0916fc7cdc28b75c510aa933cb51970609e6d86e489cf4d9b2cec8bab9", kill_on_drop: false }` [INFO] [stderr] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stderr] --> src/lib.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | Box::from_raw(song); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 70 | let _ = Box::from_raw(song); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/instrument.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Debug, Serialize, Deserialize, Copy, Clone, Hash, PartialEq, Eq, PartialOrd, Ord)] [INFO] [stderr] | ^-------- [INFO] [stderr] | | [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Instrument` [INFO] [stderr] 5 | pub enum Instrument { [INFO] [stderr] | ---------- `Instrument` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [stderr] = 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] [stderr] = 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] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/instrument.rs:4:28 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Debug, Serialize, Deserialize, Copy, Clone, Hash, PartialEq, Eq, PartialOrd, Ord)] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Deserialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Instrument` [INFO] [stderr] 5 | pub enum Instrument { [INFO] [stderr] | ---------- `Instrument` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/musicxml.rs:350:22 [INFO] [stderr] | [INFO] [stderr] 350 | for part_list in root.children().find(|e| e.name() == "part-list") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 350 | while let Some(part_list) = root.children().find(|e| e.name() == "part-list") { [INFO] [stderr] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 350 | if let Some(part_list) = root.children().find(|e| e.name() == "part-list") { [INFO] [stderr] | ~~~~~~~~~~~~ ~~~ [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/musicxml.rs:352:23 [INFO] [stderr] | [INFO] [stderr] 352 | for id in score_part.attr("id") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 352 | while let Some(id) = score_part.attr("id") { [INFO] [stderr] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 352 | if let Some(id) = score_part.attr("id") { [INFO] [stderr] | ~~~~~~~~~~~~ ~~~ [INFO] [stderr] [INFO] [stderr] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stderr] --> src/musicxml.rs:353:29 [INFO] [stderr] | [INFO] [stderr] 353 | for name in score_part.children().find(|e| e.name() == "part-name") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: to check pattern in a loop use `while let` [INFO] [stderr] | [INFO] [stderr] 353 | while let Some(name) = score_part.children().find(|e| e.name() == "part-name") { [INFO] [stderr] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stderr] help: consider using `if let` to clear intent [INFO] [stderr] | [INFO] [stderr] 353 | if let Some(name) = score_part.children().find(|e| e.name() == "part-name") { [INFO] [stderr] | ~~~~~~~~~~~~ ~~~ [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/note.rs:9:30 [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)] [INFO] [stderr] | ^-------- [INFO] [stderr] | | [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NoteName` [INFO] [stderr] 10 | pub enum NoteName { [INFO] [stderr] | -------- `NoteName` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/note.rs:9:41 [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, Hash)] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Deserialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NoteName` [INFO] [stderr] 10 | pub enum NoteName { [INFO] [stderr] | -------- `NoteName` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/song.rs:12:17 [INFO] [stderr] | [INFO] [stderr] 12 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stderr] | ^-------- [INFO] [stderr] | | [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Song` [INFO] [stderr] 13 | pub struct Song { [INFO] [stderr] | ---- `Song` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/song.rs:12:28 [INFO] [stderr] | [INFO] [stderr] 12 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Deserialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Song` [INFO] [stderr] 13 | pub struct Song { [INFO] [stderr] | ---- `Song` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/voice.rs:10:17 [INFO] [stderr] | [INFO] [stderr] 10 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stderr] | ^-------- [INFO] [stderr] | | [INFO] [stderr] | `Serialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Voice` [INFO] [stderr] 11 | pub struct Voice { [INFO] [stderr] | ----- `Voice` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/voice.rs:10:28 [INFO] [stderr] | [INFO] [stderr] 10 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stderr] | ^---------- [INFO] [stderr] | | [INFO] [stderr] | `Deserialize` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Voice` [INFO] [stderr] 11 | pub struct Voice { [INFO] [stderr] | ----- `Voice` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = 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] [stderr] = 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] [stderr] = 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] [stderr] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: `imagemusic` (lib) generated 12 warnings [INFO] [stderr] warning: panic message contains braces [INFO] [stderr] --> src/bin/decode.rs:9:28 [INFO] [stderr] | [INFO] [stderr] 9 | panic!("imagemusic {input song}"); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: this message is not used as a format string, but will be in Rust 2021 [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] help: add a "{}" format string to use the message literally [INFO] [stderr] | [INFO] [stderr] 9 | panic!("{}", "imagemusic {input song}"); [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: panic message contains braces [INFO] [stderr] --> src/bin/render.rs:9:28 [INFO] [stderr] | [INFO] [stderr] 9 | panic!("imagemusic {input song} {output pcm}"); [INFO] [stderr] | ^ ^ ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: this message is not used as a format string, but will be in Rust 2021 [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] help: add a "{}" format string to use the message literally [INFO] [stderr] | [INFO] [stderr] 9 | panic!("{}", "imagemusic {input song} {output pcm}"); [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: panic message contains braces [INFO] [stderr] --> src/bin/encode.rs:12:28 [INFO] [stderr] | [INFO] [stderr] 12 | panic!("imagemusic {input song} {input image} {output image}"); [INFO] [stderr] | ^ ^ ^ ^ ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: this message is not used as a format string, but will be in Rust 2021 [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] help: add a "{}" format string to use the message literally [INFO] [stderr] | [INFO] [stderr] 12 | panic!("{}", "imagemusic {input song} {input image} {output image}"); [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: panic message contains braces [INFO] [stderr] --> src/bin/from-musicxml.rs:10:28 [INFO] [stderr] | [INFO] [stderr] 10 | panic!("imagemusic {input song}"); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: this message is not used as a format string, but will be in Rust 2021 [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] help: add a "{}" format string to use the message literally [INFO] [stderr] | [INFO] [stderr] 10 | panic!("{}", "imagemusic {input song}"); [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: `imagemusic` (bin "decode" test) generated 1 warning (run `cargo fix --bin "decode" --tests` to apply 1 suggestion) [INFO] [stderr] warning: `imagemusic` (lib test) generated 12 warnings (12 duplicates) [INFO] [stderr] warning: `imagemusic` (bin "render" test) generated 1 warning (run `cargo fix --bin "render" --tests` to apply 1 suggestion) [INFO] [stderr] warning: `imagemusic` (bin "encode" test) generated 1 warning (run `cargo fix --bin "encode" --tests` to apply 1 suggestion) [INFO] [stderr] warning: `imagemusic` (bin "from-musicxml" test) generated 1 warning (run `cargo fix --bin "from-musicxml" --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.47s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.3, quick-xml v0.17.2, wasm-bindgen v0.2.63 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/imagemusic-7f48f05b03fa418c) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test image::test::affinity_rounding ... ok [INFO] [stdout] test image::test::rows_and_columns ... ok [INFO] [stdout] test image::test::unwrapped_payload ... ok [INFO] [stdout] test image::test::payload_roundtrip ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/decode.rs (/opt/rustwide/target/debug/deps/decode-8cba36a5249e27dc) [INFO] [stderr] Running unittests src/bin/encode.rs (/opt/rustwide/target/debug/deps/encode-9a546be658ed4c5a) [INFO] [stderr] Running unittests src/bin/from-musicxml.rs (/opt/rustwide/target/debug/deps/from_musicxml-a073bb1b12764dd1) [INFO] [stderr] Running unittests src/bin/render.rs (/opt/rustwide/target/debug/deps/render-59a4bb401ece9c10) [INFO] [stderr] Doc-tests imagemusic [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "4fd9ec0916fc7cdc28b75c510aa933cb51970609e6d86e489cf4d9b2cec8bab9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4fd9ec0916fc7cdc28b75c510aa933cb51970609e6d86e489cf4d9b2cec8bab9", kill_on_drop: false }` [INFO] [stdout] 4fd9ec0916fc7cdc28b75c510aa933cb51970609e6d86e489cf4d9b2cec8bab9