[INFO] cloning repository https://github.com/Taywee/imagemusic [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Taywee/imagemusic" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTaywee%2Fimagemusic", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTaywee%2Fimagemusic'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 727f564a37024a81a7eede4acb81d98c404f1418 [INFO] testing Taywee/imagemusic against 1.85.0 for beta-1.86-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTaywee%2Fimagemusic" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Taywee/imagemusic 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 git repo https://github.com/Taywee/imagemusic [INFO] finished tweaking git repo https://github.com/Taywee/imagemusic [INFO] tweaked toml for git repo https://github.com/Taywee/imagemusic written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Taywee/imagemusic 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] Downloading crates ... [INFO] [stderr] Downloaded minidom v0.12.0 [INFO] [stderr] Downloaded quick-xml v0.17.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 929d87ff5adcee03d2cb64bc0b8ad0a43d438f5d42478d20f6d588e36f05e0ef [INFO] running `Command { std: "docker" "start" "-a" "929d87ff5adcee03d2cb64bc0b8ad0a43d438f5d42478d20f6d588e36f05e0ef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "929d87ff5adcee03d2cb64bc0b8ad0a43d438f5d42478d20f6d588e36f05e0ef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "929d87ff5adcee03d2cb64bc0b8ad0a43d438f5d42478d20f6d588e36f05e0ef", kill_on_drop: false }` [INFO] [stdout] 929d87ff5adcee03d2cb64bc0b8ad0a43d438f5d42478d20f6d588e36f05e0ef [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 1a3589f8ee2d44a59b862070872535cbb459dfa59dd02d72baa9f9a888c3f8b7 [INFO] running `Command { std: "docker" "start" "-a" "1a3589f8ee2d44a59b862070872535cbb459dfa59dd02d72baa9f9a888c3f8b7", 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 log v0.4.8 [INFO] [stderr] Compiling libc v0.2.71 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.63 [INFO] [stderr] Compiling serde v1.0.111 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling rayon-core v1.7.1 [INFO] [stderr] Compiling bumpalo v3.4.0 [INFO] [stderr] Compiling adler32 v1.1.0 [INFO] [stderr] Compiling serde_json v1.0.55 [INFO] [stderr] Compiling crc32fast v1.2.0 [INFO] [stderr] Compiling itoa v0.4.6 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling wasm-bindgen v0.2.63 [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 num-integer v0.1.43 [INFO] [stderr] Compiling rayon v1.3.1 [INFO] [stderr] Compiling num-iter v0.1.41 [INFO] [stderr] Compiling num-rational v0.3.0 [INFO] [stderr] Compiling miniz_oxide v0.3.7 [INFO] [stderr] Compiling lzw v0.10.0 [INFO] [stderr] Compiling either v1.5.3 [INFO] [stderr] Compiling adler v0.2.2 [INFO] [stderr] Compiling color_quant v1.0.1 [INFO] [stderr] Compiling deflate v0.8.4 [INFO] [stderr] Compiling quick-xml v0.17.2 [INFO] [stderr] Compiling miniz_oxide v0.4.0 [INFO] [stderr] Compiling aho-corasick v0.7.10 [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 gif v0.10.3 [INFO] [stderr] Compiling base64 v0.12.1 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling crossbeam-queue v0.2.3 [INFO] [stderr] Compiling crossbeam-deque v0.7.3 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling tiff v0.5.0 [INFO] [stderr] Compiling png v0.16.6 [INFO] [stderr] Compiling minidom v0.12.0 [INFO] [stderr] Compiling flate2 v1.0.16 [INFO] [stderr] Compiling regex v1.3.9 [INFO] [stderr] Compiling jpeg-decoder v0.1.19 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.63 [INFO] [stderr] Compiling image v0.23.6 [INFO] [stderr] Compiling serde_derive v1.0.111 [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.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/lib.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | 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] 66 | 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/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/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/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 42.94s [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" "1a3589f8ee2d44a59b862070872535cbb459dfa59dd02d72baa9f9a888c3f8b7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1a3589f8ee2d44a59b862070872535cbb459dfa59dd02d72baa9f9a888c3f8b7", kill_on_drop: false }` [INFO] [stdout] 1a3589f8ee2d44a59b862070872535cbb459dfa59dd02d72baa9f9a888c3f8b7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 021b0d730ce7175fc96538c90c27a2fec217c6b2a917c235172e0162ed766b21 [INFO] running `Command { std: "docker" "start" "-a" "021b0d730ce7175fc96538c90c27a2fec217c6b2a917c235172e0162ed766b21", kill_on_drop: false }` [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling lazy_static v1.4.0 [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 memoffset v0.5.4 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling itoa v0.4.6 [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 serde v1.0.111 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling adler32 v1.1.0 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling lzw v0.10.0 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling crc32fast v1.2.0 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling thread_local v1.0.1 [INFO] [stderr] Compiling miniz_oxide v0.3.7 [INFO] [stderr] Compiling color_quant v1.0.1 [INFO] [stderr] Compiling regex-syntax v0.6.18 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.63 [INFO] [stderr] Compiling unicode-width v0.1.8 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Compiling adler v0.2.2 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling regex-automata v0.1.9 [INFO] [stderr] Compiling aho-corasick v0.7.10 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling crossbeam-queue v0.2.3 [INFO] [stderr] Compiling deflate v0.8.4 [INFO] [stderr] Compiling miniz_oxide v0.4.0 [INFO] [stderr] Compiling csv-core v0.1.10 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling num-integer v0.1.43 [INFO] [stderr] Compiling quick-xml v0.17.2 [INFO] [stderr] Compiling gif v0.10.3 [INFO] [stderr] Compiling itertools v0.9.0 [INFO] [stderr] Compiling bytemuck v1.2.0 [INFO] [stderr] Compiling crossbeam-deque v0.7.3 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling cast v0.2.3 [INFO] [stderr] Compiling png v0.16.6 [INFO] [stderr] Compiling tiff v0.5.0 [INFO] [stderr] Compiling rayon-core v1.7.1 [INFO] [stderr] Compiling num-iter v0.1.41 [INFO] [stderr] Compiling num-rational v0.3.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.8 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling half v1.6.0 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling flate2 v1.0.16 [INFO] [stderr] Compiling walkdir v2.3.1 [INFO] [stderr] Compiling minidom v0.12.0 [INFO] [stderr] Compiling rand_pcg v0.2.1 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling plotters v0.2.15 [INFO] [stderr] Compiling rayon v1.3.1 [INFO] [stderr] Compiling clap v2.33.1 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.63 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling base64 v0.12.1 [INFO] [stderr] Compiling oorandom v11.1.2 [INFO] [stderr] Compiling criterion-plot v0.4.3 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.63 [INFO] [stderr] Compiling regex v1.3.9 [INFO] [stderr] Compiling serde_json v1.0.55 [INFO] [stderr] Compiling bstr v0.2.13 [INFO] [stderr] Compiling serde_cbor v0.11.1 [INFO] [stderr] Compiling bincode v1.2.1 [INFO] [stderr] Compiling toml v0.5.6 [INFO] [stderr] Compiling jpeg-decoder v0.1.19 [INFO] [stderr] Compiling csv v1.1.3 [INFO] [stderr] Compiling wasm-bindgen v0.2.63 [INFO] [stderr] Compiling tinytemplate v1.1.0 [INFO] [stderr] Compiling image v0.23.6 [INFO] [stderr] Compiling criterion v0.3.3 [INFO] [stderr] Compiling js-sys v0.3.40 [INFO] [stderr] Compiling web-sys v0.3.40 [INFO] [stderr] Compiling imagemusic v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/lib.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | 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] 66 | 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: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/lib.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | 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] 66 | 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/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] [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] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 37.77s [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" "021b0d730ce7175fc96538c90c27a2fec217c6b2a917c235172e0162ed766b21", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "021b0d730ce7175fc96538c90c27a2fec217c6b2a917c235172e0162ed766b21", kill_on_drop: false }` [INFO] [stdout] 021b0d730ce7175fc96538c90c27a2fec217c6b2a917c235172e0162ed766b21 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 6d62a9db184c31e0963c4a2ae33e011469cdf27d12e777aa3a956092ee8f3618 [INFO] running `Command { std: "docker" "start" "-a" "6d62a9db184c31e0963c4a2ae33e011469cdf27d12e777aa3a956092ee8f3618", kill_on_drop: false }` [INFO] [stderr] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stderr] --> src/lib.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | 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] 66 | 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/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: 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/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: `imagemusic` (lib test) generated 12 warnings (12 duplicates) [INFO] [stderr] warning: `imagemusic` (bin "from-musicxml" test) generated 1 warning (run `cargo fix --bin "from-musicxml" --tests` to apply 1 suggestion) [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 "decode" test) generated 1 warning (run `cargo fix --bin "decode" --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s [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-b33852c4fcbdba3d) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test image::test::affinity_rounding ... ok [INFO] [stdout] test image::test::unwrapped_payload ... ok [INFO] [stdout] test image::test::rows_and_columns ... ok [INFO] [stdout] test image::test::payload_roundtrip ... ok [INFO] [stderr] Running unittests src/bin/decode.rs (/opt/rustwide/target/debug/deps/decode-4b6e0330cba7f887) [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] [stderr] Running unittests src/bin/encode.rs (/opt/rustwide/target/debug/deps/encode-f0dad590d042c9c2) [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/from-musicxml.rs (/opt/rustwide/target/debug/deps/from_musicxml-c8fde52a572665b8) [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/render.rs (/opt/rustwide/target/debug/deps/render-9042bac6a9f750d2) [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] [stderr] Doc-tests imagemusic [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] running `Command { std: "docker" "inspect" "6d62a9db184c31e0963c4a2ae33e011469cdf27d12e777aa3a956092ee8f3618", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d62a9db184c31e0963c4a2ae33e011469cdf27d12e777aa3a956092ee8f3618", kill_on_drop: false }` [INFO] [stdout] 6d62a9db184c31e0963c4a2ae33e011469cdf27d12e777aa3a956092ee8f3618