[INFO] fetching crate bdasm 0.5.0... [INFO] testing bdasm-0.5.0 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate bdasm 0.5.0 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate bdasm 0.5.0 [INFO] finished tweaking crates.io crate bdasm 0.5.0 [INFO] tweaked toml for crates.io crate bdasm 0.5.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate bdasm 0.5.0 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate bdasm 0.5.0 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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded const_fn v0.4.9 [INFO] [stderr] Downloaded delegate v0.5.2 [INFO] [stderr] Downloaded simplelog v0.10.2 [INFO] [stderr] Downloaded cpclib-sna v0.5.0 [INFO] [stderr] Downloaded getset v0.1.2 [INFO] [stderr] Downloaded as-slice v0.2.1 [INFO] [stderr] Downloaded anyhow v1.0.54 [INFO] [stderr] Downloaded cpclib-basic v0.5.0 [INFO] [stderr] Downloaded contracts v0.6.2 [INFO] [stderr] Downloaded imgref v1.9.1 [INFO] [stderr] Downloaded cargo-lock v7.0.1 [INFO] [stderr] Downloaded bytecount v0.6.2 [INFO] [stderr] Downloaded nom_locate v4.0.0 [INFO] [stderr] Downloaded semver v1.0.5 [INFO] [stderr] Downloaded cpclib-image v0.5.0 [INFO] [stderr] Downloaded velcro v0.5.3 [INFO] [stderr] Downloaded wyz v0.5.0 [INFO] [stderr] Downloaded cpclib-common v0.5.0 [INFO] [stderr] Downloaded delegate v0.6.2 [INFO] [stderr] Downloaded gif-dispose v3.1.1 [INFO] [stderr] Downloaded built v0.5.1 [INFO] [stderr] Downloaded bitsets v0.1.1 [INFO] [stderr] Downloaded num-complex v0.4.0 [INFO] [stderr] Downloaded proc-macro-crate v1.1.2 [INFO] [stderr] Downloaded velcro_macros v0.5.2 [INFO] [stderr] Downloaded custom_error v1.9.2 [INFO] [stderr] Downloaded cpclib-disc v0.5.0 [INFO] [stderr] Downloaded rgb v0.8.31 [INFO] [stderr] Downloaded velcro_core v0.5.2 [INFO] [stderr] Downloaded smol_str v0.1.21 [INFO] [stderr] Downloaded remain v0.2.2 [INFO] [stderr] Downloaded cpclib-tokens v0.5.0 [INFO] [stderr] Downloaded chardet v0.2.4 [INFO] [stderr] Downloaded clap v3.1.0 [INFO] [stderr] Downloaded bitvec v1.0.0 [INFO] [stderr] Downloaded cpclib-asm v0.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 93545000c1460b8301a6df9d7cedd98703022946d62177ef03219899a12c611f [INFO] running `Command { std: "docker" "start" "-a" "93545000c1460b8301a6df9d7cedd98703022946d62177ef03219899a12c611f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "93545000c1460b8301a6df9d7cedd98703022946d62177ef03219899a12c611f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "93545000c1460b8301a6df9d7cedd98703022946d62177ef03219899a12c611f", kill_on_drop: false }` [INFO] [stdout] 93545000c1460b8301a6df9d7cedd98703022946d62177ef03219899a12c611f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 92a920a1fb0b42e369c8cf57f20fc6549cfb8f892f76a581a32942ec8f765041 [INFO] running `Command { std: "docker" "start" "-a" "92a920a1fb0b42e369c8cf57f20fc6549cfb8f892f76a581a32942ec8f765041", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.36 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.86 [INFO] [stderr] Compiling libc v0.2.119 [INFO] [stderr] Compiling serde_derive v1.0.136 [INFO] [stderr] Compiling serde v1.0.136 [INFO] [stderr] Compiling tinyvec_macros v0.1.0 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling tinyvec v1.5.1 [INFO] [stderr] Compiling matches v0.1.9 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling unicode-bidi v0.3.7 [INFO] [stderr] Compiling semver v1.0.5 [INFO] [stderr] Compiling percent-encoding v2.1.0 [INFO] [stderr] Compiling form_urlencoded v1.0.1 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.7 [INFO] [stderr] Compiling unicode-normalization v0.1.19 [INFO] [stderr] Compiling quote v1.0.15 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.7 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling num_cpus v1.13.1 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling idna v0.2.3 [INFO] [stderr] Compiling crossbeam-channel v0.5.2 [INFO] [stderr] Compiling num-bigint v0.4.3 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling nom v7.1.0 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling num-rational v0.4.0 [INFO] [stderr] Compiling url v2.2.2 [INFO] [stderr] Compiling crossbeam-deque v0.8.1 [INFO] [stderr] Compiling indexmap v1.8.0 [INFO] [stderr] Compiling termcolor v1.1.2 [INFO] [stderr] Compiling radium v0.7.0 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling cc v1.0.73 [INFO] [stderr] Compiling tap v1.0.1 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling wyz v0.5.0 [INFO] [stderr] Compiling num-complex v0.4.0 [INFO] [stderr] Compiling os_str_bytes v6.0.0 [INFO] [stderr] Compiling funty v2.0.0 [INFO] [stderr] Compiling num_threads v0.1.3 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling textwrap v0.14.2 [INFO] [stderr] Compiling bytecount v0.6.2 [INFO] [stderr] Compiling nom_locate v4.0.0 [INFO] [stderr] Compiling num v0.4.0 [INFO] [stderr] Compiling time v0.3.7 [INFO] [stderr] Compiling itertools v0.10.3 [INFO] [stderr] Compiling bitvec v1.0.0 [INFO] [stderr] Compiling clap v3.1.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling bitfield v0.13.2 [INFO] [stderr] Compiling encoding_index_tests v0.1.4 [INFO] [stderr] Compiling smallvec v1.8.0 [INFO] [stderr] Compiling bitsets v0.1.1 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling backtrace v0.3.64 [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling gimli v0.26.1 [INFO] [stderr] Compiling weezl v0.1.5 [INFO] [stderr] Compiling adler32 v1.2.0 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling object v0.27.1 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling standback v0.2.17 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling addr2line v0.17.0 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling bytemuck v1.7.3 [INFO] [stderr] Compiling unicode-width v0.1.9 [INFO] [stderr] Compiling rustc-demangle v0.1.21 [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Compiling deflate v0.8.6 [INFO] [stderr] Compiling gif v0.11.3 [INFO] [stderr] Compiling miniz_oxide v0.3.7 [INFO] [stderr] Compiling jpeg-decoder v0.1.22 [INFO] [stderr] Compiling thiserror-impl v1.0.30 [INFO] [stderr] Compiling delegate v0.6.2 [INFO] [stderr] Compiling remain v0.2.2 [INFO] [stderr] Compiling delegate v0.5.2 [INFO] [stderr] Compiling ordered-float v2.10.0 [INFO] [stderr] Compiling paste v1.0.6 [INFO] [stderr] Compiling anyhow v1.0.54 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling tiff v0.6.1 [INFO] [stderr] Compiling png v0.16.8 [INFO] [stderr] Compiling simplelog v0.10.2 [INFO] [stderr] Compiling getset v0.1.2 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling rgb v0.8.31 [INFO] [stderr] Compiling thiserror v1.0.30 [INFO] [stderr] Compiling velcro_core v0.5.2 [INFO] [stderr] Compiling substring v1.4.5 [INFO] [stderr] Compiling const_fn v0.4.9 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling imgref v1.9.1 [INFO] [stderr] Compiling scoped_threadpool v0.1.9 [INFO] [stderr] Compiling arrayref v0.3.6 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling custom_error v1.9.2 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling gif-dispose v3.1.1 [INFO] [stderr] Compiling as-slice v0.2.1 [INFO] [stderr] Compiling image v0.23.14 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling velcro_macros v0.5.2 [INFO] [stderr] Compiling contracts v0.6.2 [INFO] [stderr] Compiling time-macros-impl v0.1.2 [INFO] [stderr] Compiling encoding-index-simpchinese v1.20141219.5 [INFO] [stderr] Compiling encoding-index-japanese v1.20141219.5 [INFO] [stderr] Compiling encoding-index-korean v1.20141219.5 [INFO] [stderr] Compiling encoding-index-tradchinese v1.20141219.5 [INFO] [stderr] Compiling encoding-index-singlebyte v1.20141219.5 [INFO] [stderr] Compiling bstr v0.2.17 [INFO] [stderr] Compiling time v0.2.27 [INFO] [stderr] Compiling encoding v0.2.33 [INFO] [stderr] Compiling velcro v0.5.3 [INFO] [stderr] Compiling time-macros v0.1.1 [INFO] [stderr] Compiling globset v0.4.8 [INFO] [stderr] Compiling codespan-reporting v0.11.1 [INFO] [stderr] Compiling chardet v0.2.4 [INFO] [stderr] Compiling smol_str v0.1.21 [INFO] [stderr] Compiling toml v0.5.8 [INFO] [stderr] Compiling cpclib-common v0.5.0 [INFO] [stderr] Compiling cpclib-image v0.5.0 [INFO] [stderr] Compiling cargo-lock v7.0.1 [INFO] [stderr] Compiling proc-macro-crate v1.1.2 [INFO] [stderr] Compiling num_enum_derive v0.5.6 [INFO] [stderr] Compiling built v0.5.1 [INFO] [stderr] Compiling num_enum v0.5.6 [INFO] [stderr] Compiling cpclib-sna v0.5.0 [INFO] [stderr] Compiling cpclib-tokens v0.5.0 [INFO] [stderr] Compiling cpclib-disc v0.5.0 [INFO] [stderr] Compiling cpclib-basic v0.5.0 [INFO] [stderr] Compiling cpclib-asm v0.5.0 [INFO] [stderr] Compiling bdasm v0.5.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/lib.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(register_attr)] [INFO] [stdout] | ^^^^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in 1.65.0 (you are using 1.89.0-nightly (8de4c7234 2025-06-19)); see for more information [INFO] [stdout] = note: removed in favor of `#![register_tool]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `register_attr` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/lib.rs:2:4 [INFO] [stdout] | [INFO] [stdout] 2 | #![register_attr(get)] [INFO] [stdout] | ^^^^^^^^^^^^^ help: a built-in attribute with a similar name exists: `register_tool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `fail` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | #[fail(display = "No more entries available.")] [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: `fail` is an attribute that can be used by the derive macro `Fail`, you might be missing a `derive` attribute [INFO] [stdout] | [INFO] [stdout] 16 + #[derive(Fail)] [INFO] [stdout] 17 | pub enum AmsdosError { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `fail` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | #[fail(display = "No more blocs available.")] [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: `fail` is an attribute that can be used by the derive macro `Fail`, you might be missing a `derive` attribute [INFO] [stdout] | [INFO] [stdout] 16 + #[derive(Fail)] [INFO] [stdout] 17 | pub enum AmsdosError { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `fail` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | #[fail(display = "File larger than 64kb")] [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: `fail` is an attribute that can be used by the derive macro `Fail`, you might be missing a `derive` attribute [INFO] [stdout] | [INFO] [stdout] 16 + #[derive(Fail)] [INFO] [stdout] 17 | pub enum AmsdosError { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `fail` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:26:7 [INFO] [stdout] | [INFO] [stdout] 26 | #[fail(display = "Invalid header")] [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: `fail` is an attribute that can be used by the derive macro `Fail`, you might be missing a `derive` attribute [INFO] [stdout] | [INFO] [stdout] 16 + #[derive(Fail)] [INFO] [stdout] 17 | pub enum AmsdosError { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `fail` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:29:7 [INFO] [stdout] | [INFO] [stdout] 29 | #[fail(display = "IO error")] [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: `fail` is an attribute that can be used by the derive macro `Fail`, you might be missing a `derive` attribute [INFO] [stdout] | [INFO] [stdout] 16 + #[derive(Fail)] [INFO] [stdout] 17 | pub enum AmsdosError { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `fail` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | #[fail(display = "Various error")] [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: `fail` is an attribute that can be used by the derive macro `Fail`, you might be missing a `derive` attribute [INFO] [stdout] | [INFO] [stdout] 16 + #[derive(Fail)] [INFO] [stdout] 17 | pub enum AmsdosError { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `fail` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | #[fail(display = "File name error: {}", msg)] [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] help: `fail` is an attribute that can be used by the derive macro `Fail`, you might be missing a `derive` attribute [INFO] [stdout] | [INFO] [stdout] 16 + #[derive(Fail)] [INFO] [stdout] 17 | pub enum AmsdosError { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:108:7 [INFO] [stdout] | [INFO] [stdout] 108 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:111:7 [INFO] [stdout] | [INFO] [stdout] 111 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:114:7 [INFO] [stdout] | [INFO] [stdout] 114 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:116:7 [INFO] [stdout] | [INFO] [stdout] 116 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:270:7 [INFO] [stdout] | [INFO] [stdout] 270 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:273:7 [INFO] [stdout] | [INFO] [stdout] 273 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:275:7 [INFO] [stdout] | [INFO] [stdout] 275 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:279:7 [INFO] [stdout] | [INFO] [stdout] 279 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:282:7 [INFO] [stdout] | [INFO] [stdout] 282 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:285:7 [INFO] [stdout] | [INFO] [stdout] 285 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:288:7 [INFO] [stdout] | [INFO] [stdout] 288 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:291:7 [INFO] [stdout] | [INFO] [stdout] 291 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:294:7 [INFO] [stdout] | [INFO] [stdout] 294 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:297:7 [INFO] [stdout] | [INFO] [stdout] 297 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:621:7 [INFO] [stdout] | [INFO] [stdout] 621 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:624:7 [INFO] [stdout] | [INFO] [stdout] 624 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:627:7 [INFO] [stdout] | [INFO] [stdout] 627 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:630:7 [INFO] [stdout] | [INFO] [stdout] 630 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:633:7 [INFO] [stdout] | [INFO] [stdout] 633 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:636:7 [INFO] [stdout] | [INFO] [stdout] 636 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:639:7 [INFO] [stdout] | [INFO] [stdout] 639 | #[get = "pub"] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `get` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:824:7 [INFO] [stdout] | [INFO] [stdout] 824 | #[get] [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `get` is an attribute that can be used by the derive macro `Getters`, you might be missing a `derive` attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `DiscConfigError` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:65:16 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct DiscConfig { [INFO] [stdout] | --------------------- similarly named struct `DiscConfig` defined here [INFO] [stdout] ... [INFO] [stdout] 65 | type Err = DiscConfigError; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: a struct with a similar name exists: `DiscConfig` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `DiscConfigError` in this scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:104:54 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct DiscConfig { [INFO] [stdout] | --------------------- similarly named struct `DiscConfig` defined here [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn new>(p: P) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: a struct with a similar name exists [INFO] [stdout] | [INFO] [stdout] 104 - pub fn new>(p: P) -> Result { [INFO] [stdout] 104 + pub fn new>(p: P) -> Result { [INFO] [stdout] | [INFO] [stdout] help: you might be missing a type parameter [INFO] [stdout] | [INFO] [stdout] 94 | impl DiscConfig { [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `*filename` which is behind a shared reference [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:909:40 [INFO] [stdout] | [INFO] [stdout] 909 | let filename: AmsdosFileName = *filename; [INFO] [stdout] | ^^^^^^^^^ move occurs because `*filename` has type `AmsdosFileName`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `AmsdosFileName` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:57:1 [INFO] [stdout] | [INFO] [stdout] 57 | pub struct AmsdosFileName { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] ... [INFO] [stdout] 909 | let filename: AmsdosFileName = *filename; [INFO] [stdout] | --------- you could clone this value [INFO] [stdout] help: consider removing the dereference here [INFO] [stdout] | [INFO] [stdout] 909 - let filename: AmsdosFileName = *filename; [INFO] [stdout] 909 + let filename: AmsdosFileName = filename; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlocIdx: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:524:35 [INFO] [stdout] | [INFO] [stdout] 524 | array_blocs[..16].clone_from_slice(&blocs[..16]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `BlocIdx` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `failure::core::slice::::clone_from_slice` [INFO] [stdout] --> /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/slice/mod.rs:3743:5 [INFO] [stdout] help: consider annotating `BlocIdx` with `#[derive(Clone)]` [INFO] [stdout] | [INFO] [stdout] 370 + #[derive(Clone)] [INFO] [stdout] 371 | pub enum BlocIdx { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlocIdx: std::marker::Copy` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:523:40 [INFO] [stdout] | [INFO] [stdout] 523 | let mut array_blocs = [BlocIdx::default(); 16]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ the trait `std::marker::Copy` is not implemented for `BlocIdx` [INFO] [stdout] | [INFO] [stdout] = note: the `Copy` trait is required because this value will be copied for each element of the array [INFO] [stdout] = help: consider using `core::array::from_fn` to initialize the array [INFO] [stdout] = help: see https://doc.rust-lang.org/stable/std/array/fn.from_fn.html for more information [INFO] [stdout] help: consider annotating `BlocIdx` with `#[derive(Copy)]` [INFO] [stdout] | [INFO] [stdout] 370 + #[derive(Copy)] [INFO] [stdout] 371 | pub enum BlocIdx { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `AmsdosEntry` doesn't implement `Debug` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:640:31 [INFO] [stdout] | [INFO] [stdout] 640 | write!(f, "{:?}", entry)?; [INFO] [stdout] | ^^^^^ `AmsdosEntry` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `AmsdosEntry` [INFO] [stdout] = note: add `#[derive(Debug)]` to `AmsdosEntry` or manually `impl Debug for AmsdosEntry` [INFO] [stdout] = note: this error originates in the macro `$crate::format_args` which comes from the expansion of the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `clone` exists for struct `Vec`, but its trait bounds were not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:710:42 [INFO] [stdout] | [INFO] [stdout] 370 | pub enum BlocIdx { [INFO] [stdout] | ---------------- doesn't satisfy `BlocIdx: Clone` [INFO] [stdout] ... [INFO] [stdout] 710 | let mut blocs = e1.blocs.clone(); [INFO] [stdout] | ^^^^^ method cannot be called on `Vec` due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlocIdx: Clone` [INFO] [stdout] which is required by `Vec: Clone` [INFO] [stdout] help: consider annotating `BlocIdx` with `#[derive(Clone)]` [INFO] [stdout] | [INFO] [stdout] 370 + #[derive(Clone)] [INFO] [stdout] 371 | pub enum BlocIdx { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `clone` found for struct `AmsdosCatalogEntry` in the current scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:760:42 [INFO] [stdout] | [INFO] [stdout] 649 | pub struct AmsdosCatalogEntry { [INFO] [stdout] | ----------------------------- method `clone` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 760 | novel.push(current_entry.clone()) [INFO] [stdout] | ^^^^^ method not found in `AmsdosCatalogEntry` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `clone`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Clone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:789:30 [INFO] [stdout] | [INFO] [stdout] 789 | let mut copy: Self = self.clone(); [INFO] [stdout] | ---- ^^^^^^^^^^^^ expected `AmsdosCatalog`, found `&AmsdosCatalog` [INFO] [stdout] | | [INFO] [stdout] | expected due to this [INFO] [stdout] | [INFO] [stdout] note: `AmsdosCatalog` does not implement `Clone`, so `&AmsdosCatalog` was cloned instead [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:789:30 [INFO] [stdout] | [INFO] [stdout] 789 | let mut copy: Self = self.clone(); [INFO] [stdout] | ^^^^ [INFO] [stdout] help: consider annotating `AmsdosCatalog` with `#[derive(Clone)]` [INFO] [stdout] | [INFO] [stdout] 738 + #[derive(Clone)] [INFO] [stdout] 739 | pub struct AmsdosCatalog { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:797:30 [INFO] [stdout] | [INFO] [stdout] 797 | let mut copy: Self = self.clone(); [INFO] [stdout] | ---- ^^^^^^^^^^^^ expected `AmsdosCatalog`, found `&AmsdosCatalog` [INFO] [stdout] | | [INFO] [stdout] | expected due to this [INFO] [stdout] | [INFO] [stdout] note: `AmsdosCatalog` does not implement `Clone`, so `&AmsdosCatalog` was cloned instead [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:797:30 [INFO] [stdout] | [INFO] [stdout] 797 | let mut copy: Self = self.clone(); [INFO] [stdout] | ^^^^ [INFO] [stdout] help: consider annotating `AmsdosCatalog` with `#[derive(Clone)]` [INFO] [stdout] | [INFO] [stdout] 738 + #[derive(Clone)] [INFO] [stdout] 739 | pub struct AmsdosCatalog { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:805:30 [INFO] [stdout] | [INFO] [stdout] 805 | let mut copy: Self = self.clone(); [INFO] [stdout] | ---- ^^^^^^^^^^^^ expected `AmsdosCatalog`, found `&AmsdosCatalog` [INFO] [stdout] | | [INFO] [stdout] | expected due to this [INFO] [stdout] | [INFO] [stdout] note: `AmsdosCatalog` does not implement `Clone`, so `&AmsdosCatalog` was cloned instead [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:805:30 [INFO] [stdout] | [INFO] [stdout] 805 | let mut copy: Self = self.clone(); [INFO] [stdout] | ^^^^ [INFO] [stdout] help: consider annotating `AmsdosCatalog` with `#[derive(Clone)]` [INFO] [stdout] | [INFO] [stdout] 738 + #[derive(Clone)] [INFO] [stdout] 739 | pub struct AmsdosCatalog { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&AmsdosEntry` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:827:35 [INFO] [stdout] | [INFO] [stdout] 827 | if &self.entries[idx] == entry { [INFO] [stdout] | ------------------ ^^ ----- &AmsdosEntry [INFO] [stdout] | | [INFO] [stdout] | &AmsdosEntry [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialEq` might be missing for `AmsdosEntry` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:450:1 [INFO] [stdout] | [INFO] [stdout] 450 | pub struct AmsdosEntry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq` [INFO] [stdout] help: consider annotating `AmsdosEntry` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 450 + #[derive(PartialEq)] [INFO] [stdout] 451 | pub struct AmsdosEntry { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlocIdx: Ord` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:933:24 [INFO] [stdout] | [INFO] [stdout] 933 | .collect::>(); [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Ord` is not implemented for `BlocIdx` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromIterator` is implemented for `BTreeSet` [INFO] [stdout] = note: required for `BTreeSet` to implement `FromIterator` [INFO] [stdout] note: required by a bound in `std::iter::Iterator::collect` [INFO] [stdout] --> /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/iter/traits/iterator.rs:2014:5 [INFO] [stdout] help: consider annotating `BlocIdx` with `#[derive(Ord)]` [INFO] [stdout] | [INFO] [stdout] 370 + #[derive(Ord)] [INFO] [stdout] 371 | pub enum BlocIdx { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlocIdx: std::marker::Copy` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:937:14 [INFO] [stdout] | [INFO] [stdout] 937 | .copied() [INFO] [stdout] | ^^^^^^ the trait `std::marker::Copy` is not implemented for `BlocIdx` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `std::iter::Iterator::copied` [INFO] [stdout] --> /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/iter/traits/iterator.rs:3417:5 [INFO] [stdout] help: consider annotating `BlocIdx` with `#[derive(Copy)]` [INFO] [stdout] | [INFO] [stdout] 370 + #[derive(Copy)] [INFO] [stdout] 371 | pub enum BlocIdx { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: `Copied, ..., ...>>` is not an iterator [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:938:14 [INFO] [stdout] | [INFO] [stdout] 934 | let used = self [INFO] [stdout] | ____________________- [INFO] [stdout] 935 | | .used_entries() [INFO] [stdout] 936 | | .flat_map(|e| e.blocs.iter()) [INFO] [stdout] 937 | | .copied() [INFO] [stdout] 938 | | .collect::>(); [INFO] [stdout] | | -^^^^^^^ `Copied, ..., ...>>` is not an iterator [INFO] [stdout] | |_____________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `std::iter::Copied, std::slice::Iter<'_, BlocIdx>, {closure@/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:936:23: 936:26}>>: Iterator` [INFO] [stdout] which is required by `&mut std::iter::Copied, std::slice::Iter<'_, BlocIdx>, {closure@/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:936:23: 936:26}>>: Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlocIdx: Ord` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:939:13 [INFO] [stdout] | [INFO] [stdout] 939 | set.difference(&used).copied().collect::>() [INFO] [stdout] | ^^^^^^^^^^ the trait `Ord` is not implemented for `BlocIdx` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `BTreeSet::::difference` [INFO] [stdout] --> /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/collections/btree/set.rs:426:5 [INFO] [stdout] help: consider annotating `BlocIdx` with `#[derive(Ord)]` [INFO] [stdout] | [INFO] [stdout] 370 + #[derive(Ord)] [INFO] [stdout] 371 | pub enum BlocIdx { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `copied` exists for struct `std::collections::btree_set::Difference<'_, BlocIdx>`, but its trait bounds were not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:939:31 [INFO] [stdout] | [INFO] [stdout] 370 | pub enum BlocIdx { [INFO] [stdout] | ---------------- doesn't satisfy `BlocIdx: Ord` [INFO] [stdout] ... [INFO] [stdout] 939 | set.difference(&used).copied().collect::>() [INFO] [stdout] | ^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `BlocIdx: Ord` [INFO] [stdout] which is required by `std::collections::btree_set::Difference<'_, BlocIdx>: Iterator` [INFO] [stdout] `std::collections::btree_set::Difference<'_, BlocIdx>: Iterator` [INFO] [stdout] which is required by `&mut std::collections::btree_set::Difference<'_, BlocIdx>: Iterator` [INFO] [stdout] help: consider annotating `BlocIdx` with `#[derive(Eq, Ord, PartialEq, PartialOrd)]` [INFO] [stdout] | [INFO] [stdout] 370 + #[derive(Eq, Ord, PartialEq, PartialOrd)] [INFO] [stdout] 371 | pub enum BlocIdx { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AmsdosEntry: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1099:22 [INFO] [stdout] | [INFO] [stdout] 1099 | .map(Clone::clone) [INFO] [stdout] | ^^^^^^^^^^^^ the trait `Clone` is not implemented for `AmsdosEntry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AmsdosEntry: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1096:27 [INFO] [stdout] | [INFO] [stdout] 1096 | let entries = self [INFO] [stdout] | ___________________________^ [INFO] [stdout] 1097 | | .catalog() [INFO] [stdout] 1098 | | .for_file(&filename) [INFO] [stdout] 1099 | | .map(Clone::clone) [INFO] [stdout] | |__________________________________^ the trait `Clone` is not implemented for `AmsdosEntry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AmsdosEntry: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1096:27 [INFO] [stdout] | [INFO] [stdout] 1096 | let entries = self [INFO] [stdout] | ___________________________^ [INFO] [stdout] 1097 | | .catalog() [INFO] [stdout] 1098 | | .for_file(&filename) [INFO] [stdout] 1099 | | .map(Clone::clone) [INFO] [stdout] 1100 | | .collect::>(); [INFO] [stdout] | |____________________________________^ the trait `Clone` is not implemented for `AmsdosEntry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `AmsdosEntry` doesn't implement `Debug` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1107:26 [INFO] [stdout] | [INFO] [stdout] 1107 | println!("{:?}", &entries); [INFO] [stdout] | ^^^^^^^^ `AmsdosEntry` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `AmsdosEntry` [INFO] [stdout] = note: add `#[derive(Debug)]` to `AmsdosEntry` or manually `impl Debug for AmsdosEntry` [INFO] [stdout] = help: the trait `Debug` is implemented for `Vec` [INFO] [stdout] = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `BlocIdx` doesn't implement `Debug` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1165:49 [INFO] [stdout] | [INFO] [stdout] 1165 | println!("Select bloc{:?}", bloc_idx); [INFO] [stdout] | ^^^^^^^^ `BlocIdx` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `BlocIdx` [INFO] [stdout] = note: add `#[derive(Debug)]` to `BlocIdx` or manually `impl Debug for BlocIdx` [INFO] [stdout] = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `BlocIdx` with `#[derive(Debug)]` [INFO] [stdout] | [INFO] [stdout] 370 + #[derive(Debug)] [INFO] [stdout] 371 | pub enum BlocIdx { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `BlocIdx: std::marker::Copy` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1157:34 [INFO] [stdout] | [INFO] [stdout] 1157 | let mut blocs = [BlocIdx::default(); 16]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ the trait `std::marker::Copy` is not implemented for `BlocIdx` [INFO] [stdout] | [INFO] [stdout] = note: the `Copy` trait is required because this value will be copied for each element of the array [INFO] [stdout] = help: consider using `core::array::from_fn` to initialize the array [INFO] [stdout] = help: see https://doc.rust-lang.org/stable/std/array/fn.from_fn.html for more information [INFO] [stdout] help: consider annotating `BlocIdx` with `#[derive(Copy)]` [INFO] [stdout] | [INFO] [stdout] 370 + #[derive(Copy)] [INFO] [stdout] 371 | pub enum BlocIdx { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `BlocIdx` doesn't implement `Debug` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1259:17 [INFO] [stdout] | [INFO] [stdout] 1259 | bloc_idx, [INFO] [stdout] | ^^^^^^^^ `BlocIdx` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `BlocIdx` [INFO] [stdout] = note: add `#[derive(Debug)]` to `BlocIdx` or manually `impl Debug for BlocIdx` [INFO] [stdout] = note: this error originates in the macro `$crate::const_format_args` which comes from the expansion of the macro `unimplemented` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `BlocIdx` with `#[derive(Debug)]` [INFO] [stdout] | [INFO] [stdout] 370 + #[derive(Debug)] [INFO] [stdout] 371 | pub enum BlocIdx { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `AmsdosError` doesn't implement `Debug` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1358:35 [INFO] [stdout] | [INFO] [stdout] 1358 | writeln!(f, "File: {:?}", self.amsdos_filename())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `AmsdosError` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `AmsdosError` [INFO] [stdout] = note: add `#[derive(Debug)]` to `AmsdosError` or manually `impl Debug for AmsdosError` [INFO] [stdout] = help: the trait `Debug` is implemented for `Result` [INFO] [stdout] = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `AmsdosError` with `#[derive(Debug)]` [INFO] [stdout] | [INFO] [stdout] 16 + #[derive(Debug)] [INFO] [stdout] 17 | pub enum AmsdosError { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `AmsdosError` doesn't implement `Debug` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1359:35 [INFO] [stdout] | [INFO] [stdout] 1359 | writeln!(f, "Type: {:?}", self.file_type())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `AmsdosError` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `AmsdosError` [INFO] [stdout] = note: add `#[derive(Debug)]` to `AmsdosError` or manually `impl Debug for AmsdosError` [INFO] [stdout] = help: the trait `Debug` is implemented for `Result` [INFO] [stdout] = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `AmsdosError` with `#[derive(Debug)]` [INFO] [stdout] | [INFO] [stdout] 16 + #[derive(Debug)] [INFO] [stdout] 17 | pub enum AmsdosError { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `AmsdosError` doesn't implement `Debug` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1661:44 [INFO] [stdout] | [INFO] [stdout] 1661 | let fname = self.amsdos_filename().unwrap().filename(); [INFO] [stdout] | ^^^^^^ `AmsdosError` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `AmsdosError` [INFO] [stdout] = note: add `#[derive(Debug)]` to `AmsdosError` or manually `impl Debug for AmsdosError` [INFO] [stdout] note: required by a bound in `Result::::unwrap` [INFO] [stdout] --> /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/result.rs:1161:5 [INFO] [stdout] help: consider annotating `AmsdosError` with `#[derive(Debug)]` [INFO] [stdout] | [INFO] [stdout] 16 + #[derive(Debug)] [INFO] [stdout] 17 | pub enum AmsdosError { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `default` found for struct `edsk::ExtendedDsk` in the current scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/builder.rs:6:33 [INFO] [stdout] | [INFO] [stdout] 6 | let mut edsk = ExtendedDsk::default(); [INFO] [stdout] | ^^^^^^^ function or associated item not found in `edsk::ExtendedDsk` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:958:1 [INFO] [stdout] | [INFO] [stdout] 958 | pub struct ExtendedDsk { [INFO] [stdout] | ---------------------- function or associated item `default` not found for this struct [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `edsk::ExtendedDsk` consider using one of the following associated functions: [INFO] [stdout] edsk::ExtendedDsk::open [INFO] [stdout] edsk::ExtendedDsk::from_buffer [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:966:5 [INFO] [stdout] | [INFO] [stdout] 966 | / pub fn open

(path: P) -> io::Result [INFO] [stdout] 967 | | where P: AsRef { [INFO] [stdout] | |________________________^ [INFO] [stdout] ... [INFO] [stdout] 979 | pub fn from_buffer(buffer: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `default`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Default` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `edsk::Head` doesn't implement `Debug` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/builder.rs:18:91 [INFO] [stdout] | [INFO] [stdout] 18 | .unwrap_or_else(|| panic!("Unable to acquire information for track {:?}", idx)); [INFO] [stdout] | ^^^ `edsk::Head` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `edsk::Head` [INFO] [stdout] = note: add `#[derive(Debug)]` to `edsk::Head` or manually `impl Debug for edsk::Head` [INFO] [stdout] = help: the following other types implement trait `Debug`: [INFO] [stdout] () [INFO] [stdout] (A, Z, Y, X, W, V, U, T) [INFO] [stdout] (B, A, Z, Y, X, W, V, U, T) [INFO] [stdout] (C, B, A, Z, Y, X, W, V, U, T) [INFO] [stdout] (D, C, B, A, Z, Y, X, W, V, U, T) [INFO] [stdout] (E, D, C, B, A, Z, Y, X, W, V, U, T) [INFO] [stdout] (T,) [INFO] [stdout] (U, T) [INFO] [stdout] and 5 others [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Debug)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Debug)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `edsk::Head` doesn't implement `Debug` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/builder.rs:47:32 [INFO] [stdout] | [INFO] [stdout] 47 | track_idx, head [INFO] [stdout] | ^^^^ `edsk::Head` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `edsk::Head` [INFO] [stdout] = note: add `#[derive(Debug)]` to `edsk::Head` or manually `impl Debug for edsk::Head` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Debug)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Debug)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `edsk::Head` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:138:41 [INFO] [stdout] | [INFO] [stdout] 138 | .find(move |info| info.head == head && info.tracks.iter().any(|&val| val == track)) [INFO] [stdout] | --------- ^^ ---- edsk::Head [INFO] [stdout] | | [INFO] [stdout] | edsk::Head [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialEq` might be missing for `edsk::Head` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Head { [INFO] [stdout] | ^^^^^^^^^^^^^ must implement `PartialEq` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(PartialEq)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(PartialEq)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `edsk::Head: Ord` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:267:16 [INFO] [stdout] | [INFO] [stdout] 267 | single.sort_by_key(|item| { [INFO] [stdout] | ^^^^^^^^^^^ the trait `Ord` is not implemented for `edsk::Head` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Ord`: [INFO] [stdout] () [INFO] [stdout] (A, Z, Y, X, W, V, U, T) [INFO] [stdout] (B, A, Z, Y, X, W, V, U, T) [INFO] [stdout] (C, B, A, Z, Y, X, W, V, U, T) [INFO] [stdout] (D, C, B, A, Z, Y, X, W, V, U, T) [INFO] [stdout] (E, D, C, B, A, Z, Y, X, W, V, U, T) [INFO] [stdout] (T,) [INFO] [stdout] (U, T) [INFO] [stdout] and 5 others [INFO] [stdout] = note: required for `(edsk::Head, u16, u8, Vec, Vec)` to implement `Ord` [INFO] [stdout] note: required by a bound in `std::slice::::sort_by_key` [INFO] [stdout] --> /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/alloc/src/slice.rs:249:5 [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Ord)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Ord)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: can't compare `edsk::Head` with `edsk::Head` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:279:14 [INFO] [stdout] | [INFO] [stdout] 279 | .group_by(|item| { [INFO] [stdout] | ^^^^^^^^ no implementation for `edsk::Head == edsk::Head` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq` is not implemented for `edsk::Head` [INFO] [stdout] = note: required for `(edsk::Head, u16, u8, Vec, Vec)` to implement `PartialEq` [INFO] [stdout] note: required by a bound in `group_by` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.10.3/src/lib.rs:624:18 [INFO] [stdout] | [INFO] [stdout] 621 | fn group_by(self, key: F) -> GroupBy [INFO] [stdout] | -------- required by a bound in this associated function [INFO] [stdout] ... [INFO] [stdout] 624 | K: PartialEq, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `Itertools::group_by` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(PartialEq)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(PartialEq)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `into_iter` exists for struct `GroupBy<(Head, u16, u8, Vec, Vec), Iter<'_, TrackGroup>, ...>`, but its trait bounds were not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:288:14 [INFO] [stdout] | [INFO] [stdout] 277 | let mut grouped = single [INFO] [stdout] | ___________________________- [INFO] [stdout] 278 | | .iter() [INFO] [stdout] 279 | | .group_by(|item| { [INFO] [stdout] ... | [INFO] [stdout] 287 | | }) [INFO] [stdout] 288 | | .into_iter() [INFO] [stdout] | | -^^^^^^^^^ method cannot be called due to unsatisfied trait bounds [INFO] [stdout] | |_____________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.10.3/src/groupbylazy.rs:289:1 [INFO] [stdout] | [INFO] [stdout] 289 | pub struct GroupBy [INFO] [stdout] | --------------------------- doesn't satisfy `_: IntoIterator` or `_: Iterator` [INFO] [stdout] | [INFO] [stdout] = note: the following trait bounds were not satisfied: [INFO] [stdout] `GroupBy<(edsk::Head, u16, u8, Vec, Vec), std::slice::Iter<'_, TrackGroup>, {closure@/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:279:23: 279:29}>: Iterator` [INFO] [stdout] which is required by `GroupBy<(edsk::Head, u16, u8, Vec, Vec), std::slice::Iter<'_, TrackGroup>, {closure@/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:279:23: 279:29}>: IntoIterator` [INFO] [stdout] `&mut GroupBy<(edsk::Head, u16, u8, Vec, Vec), std::slice::Iter<'_, TrackGroup>, {closure@/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:279:23: 279:29}>: Iterator` [INFO] [stdout] which is required by `&mut GroupBy<(edsk::Head, u16, u8, Vec, Vec), std::slice::Iter<'_, TrackGroup>, {closure@/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:279:23: 279:29}>: IntoIterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `edsk::Head: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:438:23 [INFO] [stdout] | [INFO] [stdout] 438 | value(Head::A, tag_no_case("A")), [INFO] [stdout] | ----- ^^^^^^^ the trait `Clone` is not implemented for `edsk::Head` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `cpclib_common::nom::combinator::value` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nom-7.1.0/src/combinator/mod.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn value, F>( [INFO] [stdout] | ^^^^^ required by this bound in `value` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Clone)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Clone)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `edsk::Head: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:438:17 [INFO] [stdout] | [INFO] [stdout] 438 | value(Head::A, tag_no_case("A")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `edsk::Head` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `cpclib_common::nom::combinator::value` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nom-7.1.0/src/combinator/mod.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn value, F>( [INFO] [stdout] | ^^^^^ required by this bound in `value` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Clone)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Clone)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `edsk::Head: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:439:23 [INFO] [stdout] | [INFO] [stdout] 439 | value(Head::B, tag_no_case("B")) [INFO] [stdout] | ----- ^^^^^^^ the trait `Clone` is not implemented for `edsk::Head` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `cpclib_common::nom::combinator::value` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nom-7.1.0/src/combinator/mod.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn value, F>( [INFO] [stdout] | ^^^^^ required by this bound in `value` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Clone)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Clone)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `edsk::Head: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:439:17 [INFO] [stdout] | [INFO] [stdout] 439 | value(Head::B, tag_no_case("B")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `edsk::Head` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `cpclib_common::nom::combinator::value` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nom-7.1.0/src/combinator/mod.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn value, F>( [INFO] [stdout] | ^^^^^ required by this bound in `value` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Clone)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Clone)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `edsk::Head: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:437:13 [INFO] [stdout] | [INFO] [stdout] 437 | alt(( [INFO] [stdout] | ^^^ the trait `Clone` is not implemented for `edsk::Head` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `cpclib_common::nom::combinator::value` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nom-7.1.0/src/combinator/mod.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn value, F>( [INFO] [stdout] | ^^^^^ required by this bound in `value` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Clone)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Clone)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `edsk::Head: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:437:13 [INFO] [stdout] | [INFO] [stdout] 437 | / alt(( [INFO] [stdout] 438 | | value(Head::A, tag_no_case("A")), [INFO] [stdout] 439 | | value(Head::B, tag_no_case("B")) [INFO] [stdout] 440 | | )), [INFO] [stdout] | |______________^ the trait `Clone` is not implemented for `edsk::Head` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `cpclib_common::nom::combinator::value` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nom-7.1.0/src/combinator/mod.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn value, F>( [INFO] [stdout] | ^^^^^ required by this bound in `value` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Clone)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Clone)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `edsk::Head: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:435:9 [INFO] [stdout] | [INFO] [stdout] 435 | delimited( [INFO] [stdout] | ^^^^^^^^^ the trait `Clone` is not implemented for `edsk::Head` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `cpclib_common::nom::combinator::value` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nom-7.1.0/src/combinator/mod.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn value, F>( [INFO] [stdout] | ^^^^^ required by this bound in `value` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Clone)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Clone)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `edsk::Head: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:435:9 [INFO] [stdout] | [INFO] [stdout] 435 | / delimited( [INFO] [stdout] 436 | | tag_no_case("[Track-"), [INFO] [stdout] 437 | | alt(( [INFO] [stdout] 438 | | value(Head::A, tag_no_case("A")), [INFO] [stdout] ... | [INFO] [stdout] 441 | | tag_no_case(":") [INFO] [stdout] 442 | | ), [INFO] [stdout] | |_________^ the trait `Clone` is not implemented for `edsk::Head` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `cpclib_common::nom::combinator::value` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nom-7.1.0/src/combinator/mod.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn value, F>( [INFO] [stdout] | ^^^^^ required by this bound in `value` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Clone)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Clone)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `edsk::Head: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:443:15 [INFO] [stdout] | [INFO] [stdout] 443 | value(Head::Unspecified, tag_no_case("[Track:")) [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `edsk::Head` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `cpclib_common::nom::combinator::value` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nom-7.1.0/src/combinator/mod.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn value, F>( [INFO] [stdout] | ^^^^^ required by this bound in `value` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Clone)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Clone)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `edsk::Head: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 443 | value(Head::Unspecified, tag_no_case("[Track:")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `edsk::Head` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `cpclib_common::nom::combinator::value` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nom-7.1.0/src/combinator/mod.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn value, F>( [INFO] [stdout] | ^^^^^ required by this bound in `value` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Clone)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Clone)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `edsk::Head: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:434:25 [INFO] [stdout] | [INFO] [stdout] 434 | let (input, head) = alt(( [INFO] [stdout] | ^^^ the trait `Clone` is not implemented for `edsk::Head` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `cpclib_common::nom::combinator::value` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nom-7.1.0/src/combinator/mod.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn value, F>( [INFO] [stdout] | ^^^^^ required by this bound in `value` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Clone)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Clone)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `edsk::Head: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:434:25 [INFO] [stdout] | [INFO] [stdout] 434 | let (input, head) = alt(( [INFO] [stdout] | _________________________^ [INFO] [stdout] 435 | | delimited( [INFO] [stdout] 436 | | tag_no_case("[Track-"), [INFO] [stdout] 437 | | alt(( [INFO] [stdout] ... | [INFO] [stdout] 443 | | value(Head::Unspecified, tag_no_case("[Track:")) [INFO] [stdout] 444 | | ))(input)?; [INFO] [stdout] | |______^ the trait `Clone` is not implemented for `edsk::Head` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `cpclib_common::nom::combinator::value` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nom-7.1.0/src/combinator/mod.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn value, F>( [INFO] [stdout] | ^^^^^ required by this bound in `value` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Clone)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Clone)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `edsk::Head: Clone` is not satisfied [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:434:25 [INFO] [stdout] | [INFO] [stdout] 434 | let (input, head) = alt(( [INFO] [stdout] | _________________________^ [INFO] [stdout] 435 | | delimited( [INFO] [stdout] 436 | | tag_no_case("[Track-"), [INFO] [stdout] 437 | | alt(( [INFO] [stdout] ... | [INFO] [stdout] 443 | | value(Head::Unspecified, tag_no_case("[Track:")) [INFO] [stdout] 444 | | ))(input)?; [INFO] [stdout] | |_____________^ the trait `Clone` is not implemented for `edsk::Head` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `cpclib_common::nom::combinator::value` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/nom-7.1.0/src/combinator/mod.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | pub fn value, F>( [INFO] [stdout] | ^^^^^ required by this bound in `value` [INFO] [stdout] help: consider annotating `edsk::Head` with `#[derive(Clone)]` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 + #[derive(Clone)] [INFO] [stdout] 37 | pub enum Head { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&DiscInformation` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | assert_eq!(self, &from_buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | &DiscInformation [INFO] [stdout] | &DiscInformation [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialEq` might be missing for `DiscInformation` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:106:1 [INFO] [stdout] | [INFO] [stdout] 106 | pub struct DiscInformation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `DiscInformation` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 106 + #[derive(PartialEq)] [INFO] [stdout] 107 | pub struct DiscInformation { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `DiscInformation` doesn't implement `Debug` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | assert_eq!(self, &from_buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DiscInformation` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `DiscInformation` [INFO] [stdout] = note: add `#[derive(Debug)]` to `DiscInformation` or manually `impl Debug for DiscInformation` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `DiscInformation` with `#[derive(Debug)]` [INFO] [stdout] | [INFO] [stdout] 106 + #[derive(Debug)] [INFO] [stdout] 107 | pub struct DiscInformation { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `DiscInformation` doesn't implement `Debug` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | assert_eq!(self, &from_buffer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `DiscInformation` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `DiscInformation` [INFO] [stdout] = note: add `#[derive(Debug)]` to `DiscInformation` or manually `impl Debug for DiscInformation` [INFO] [stdout] = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `DiscInformation` with `#[derive(Debug)]` [INFO] [stdout] | [INFO] [stdout] 106 + #[derive(Debug)] [INFO] [stdout] 107 | pub struct DiscInformation { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `default` found for struct `edsk::TrackInformation` in the current scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:305:15 [INFO] [stdout] | [INFO] [stdout] 268 | pub struct TrackInformation { [INFO] [stdout] | --------------------------- function or associated item `default` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 305 | Self::default() [INFO] [stdout] | ^^^^^^^ function or associated item not found in `edsk::TrackInformation` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `edsk::TrackInformation` consider using one of the following associated functions: [INFO] [stdout] edsk::TrackInformation::unformatted [INFO] [stdout] edsk::TrackInformation::from_buffer [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:304:5 [INFO] [stdout] | [INFO] [stdout] 304 | pub fn unformatted() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | pub fn from_buffer(buffer: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `default`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Default` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `track_size` found for reference `&edsk::TrackInformation` in the current scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:310:14 [INFO] [stdout] | [INFO] [stdout] 310 | self.track_size() - 256 [INFO] [stdout] | ^^^^^^^^^^ field, not a method [INFO] [stdout] | [INFO] [stdout] help: remove the arguments [INFO] [stdout] | [INFO] [stdout] 310 - self.track_size() - 256 [INFO] [stdout] 310 + self.track_size - 256 [INFO] [stdout] | [INFO] [stdout] help: there is a method `real_track_size` with a similar name [INFO] [stdout] | [INFO] [stdout] 310 | self.real_track_size() - 256 [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `number_of_sectors` found for reference `&edsk::TrackInformation` in the current scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:332:29 [INFO] [stdout] | [INFO] [stdout] 332 | for idx in 0..(self.number_of_sectors() - 1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-- help: remove the arguments [INFO] [stdout] | | [INFO] [stdout] | field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `sector_id` found for reference `&Sector` in the current scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:336:32 [INFO] [stdout] | [INFO] [stdout] 336 | if *current_sector.sector_id() == sector { [INFO] [stdout] | ^^^^^^^^^ method not found in `&Sector` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `sector_id` found for reference `&Sector` in the current scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:337:42 [INFO] [stdout] | [INFO] [stdout] 337 | return Some(*next_sector.sector_id()); [INFO] [stdout] | ^^^^^^^^^ method not found in `&Sector` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `edsk::TrackInformation` doesn't implement `Debug` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:415:13 [INFO] [stdout] | [INFO] [stdout] 415 | track_info [INFO] [stdout] | ^^^^^^^^^^ `edsk::TrackInformation` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `edsk::TrackInformation` [INFO] [stdout] = note: add `#[derive(Debug)]` to `edsk::TrackInformation` or manually `impl Debug for edsk::TrackInformation` [INFO] [stdout] = note: this error originates in the macro `$crate::format_args` which comes from the expansion of the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `SectorInformation` doesn't implement `Debug` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:729:9 [INFO] [stdout] | [INFO] [stdout] 729 | dbg!(&list_info); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `SectorInformation` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `SectorInformation` [INFO] [stdout] = note: add `#[derive(Debug)]` to `SectorInformation` or manually `impl Debug for SectorInformation` [INFO] [stdout] = help: the trait `Debug` is implemented for `Vec` [INFO] [stdout] = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `dbg` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `SectorInformation` with `#[derive(Debug)]` [INFO] [stdout] | [INFO] [stdout] 619 + #[derive(Debug)] [INFO] [stdout] 620 | pub struct SectorInformation { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `default` found for struct `Sector` in the current scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:785:38 [INFO] [stdout] | [INFO] [stdout] 785 | let mut sector = Sector::default(); [INFO] [stdout] | ^^^^^^^ function or associated item not found in `Sector` [INFO] [stdout] ... [INFO] [stdout] 823 | pub struct Sector { [INFO] [stdout] | ----------------- function or associated item `default` not found for this struct [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `default`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Default` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `default` found for struct `edsk::TrackInformation` in the current scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:928:39 [INFO] [stdout] | [INFO] [stdout] 268 | pub struct TrackInformation { [INFO] [stdout] | --------------------------- function or associated item `default` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 928 | let track = TrackInformation::default(); [INFO] [stdout] | ^^^^^^^ function or associated item not found in `edsk::TrackInformation` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `edsk::TrackInformation` consider using one of the following associated functions: [INFO] [stdout] edsk::TrackInformation::unformatted [INFO] [stdout] edsk::TrackInformation::from_buffer [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:304:5 [INFO] [stdout] | [INFO] [stdout] 304 | pub fn unformatted() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | pub fn from_buffer(buffer: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following trait defines an item `default`, perhaps you need to implement it: [INFO] [stdout] candidate #1: `Default` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&edsk::TrackInformation` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:947:30 [INFO] [stdout] | [INFO] [stdout] 947 | if current_track == track { [INFO] [stdout] | ------------- ^^ ----- &edsk::TrackInformation [INFO] [stdout] | | [INFO] [stdout] | &edsk::TrackInformation [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialEq` might be missing for `edsk::TrackInformation` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:268:1 [INFO] [stdout] | [INFO] [stdout] 268 | pub struct TrackInformation { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq` [INFO] [stdout] help: consider annotating `edsk::TrackInformation` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 268 + #[derive(PartialEq)] [INFO] [stdout] 269 | pub struct TrackInformation { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `DiscInformation` doesn't implement `Debug` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:984:13 [INFO] [stdout] | [INFO] [stdout] 984 | disc_info, [INFO] [stdout] | ^^^^^^^^^ `DiscInformation` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `DiscInformation` [INFO] [stdout] = note: add `#[derive(Debug)]` to `DiscInformation` or manually `impl Debug for DiscInformation` [INFO] [stdout] = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider annotating `DiscInformation` with `#[derive(Debug)]` [INFO] [stdout] | [INFO] [stdout] 106 + #[derive(Debug)] [INFO] [stdout] 107 | pub struct DiscInformation { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `head_number` found for reference `&edsk::TrackInformation` in the current scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:1051:25 [INFO] [stdout] | [INFO] [stdout] 1051 | *next_track.head_number(), // XXX logical [INFO] [stdout] | ^^^^^^^^^^^-- help: remove the arguments [INFO] [stdout] | | [INFO] [stdout] | field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `track_number` found for reference `&edsk::TrackInformation` in the current scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:1052:25 [INFO] [stdout] | [INFO] [stdout] 1052 | *next_track.track_number(), [INFO] [stdout] | ^^^^^^^^^^^^-- help: remove the arguments [INFO] [stdout] | | [INFO] [stdout] | field, not a method [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `sector` found for reference `&edsk::TrackInformation` in the current scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:1119:37 [INFO] [stdout] | [INFO] [stdout] 1119 | .and_then(|track| track.sector(sector_id)) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `min_sector` with a similar name, but with different arguments [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:345:5 [INFO] [stdout] | [INFO] [stdout] 345 | pub fn min_sector(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: one of the expressions' fields has a method of the same name [INFO] [stdout] | [INFO] [stdout] 1119 | .and_then(|track| track.sector_information_list.sector(sector_id)) [INFO] [stdout] | ++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `sector_mut` found for mutable reference `&mut edsk::TrackInformation` in the current scope [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:1130:37 [INFO] [stdout] | [INFO] [stdout] 1130 | .and_then(|track| track.sector_mut(sector_id)) [INFO] [stdout] | ^^^^^^^^^^ method not found in `&mut edsk::TrackInformation` [INFO] [stdout] | [INFO] [stdout] help: one of the expressions' fields has a method of the same name [INFO] [stdout] | [INFO] [stdout] 1130 | .and_then(|track| track.sector_information_list.sector_mut(sector_id)) [INFO] [stdout] | ++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0508]: cannot move out of type `[BlocIdx]`, a non-copy slice [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:546:17 [INFO] [stdout] | [INFO] [stdout] 546 | blocs[idx] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | cannot move out of here [INFO] [stdout] | move occurs because `blocs[_]` has type `BlocIdx`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `BlocIdx` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:370:1 [INFO] [stdout] | [INFO] [stdout] 370 | pub enum BlocIdx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] ... [INFO] [stdout] 546 | blocs[idx] [INFO] [stdout] | ---------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `*b` which is behind a shared reference [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:681:24 [INFO] [stdout] | [INFO] [stdout] 681 | if b.is_valid() { [INFO] [stdout] | ^ ---------- `*b` moved due to this method call [INFO] [stdout] | | [INFO] [stdout] | move occurs because `*b` has type `BlocIdx`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: `BlocIdx::is_valid` takes ownership of the receiver `self`, which moves `*b` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:423:21 [INFO] [stdout] | [INFO] [stdout] 423 | pub fn is_valid(self) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] note: if `BlocIdx` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:370:1 [INFO] [stdout] | [INFO] [stdout] 370 | pub enum BlocIdx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] ... [INFO] [stdout] 681 | if b.is_valid() { [INFO] [stdout] | - you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `*b` which is behind a shared reference [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:682:30 [INFO] [stdout] | [INFO] [stdout] 682 | Some(*b) [INFO] [stdout] | ^^ move occurs because `*b` has type `BlocIdx`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `BlocIdx` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:370:1 [INFO] [stdout] | [INFO] [stdout] 370 | pub enum BlocIdx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] ... [INFO] [stdout] 682 | Some(*b) [INFO] [stdout] | -- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of index of `Vec` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:949:18 [INFO] [stdout] | [INFO] [stdout] 949 | Some(res[0]) [INFO] [stdout] | ^^^^^^ move occurs because value has type `BlocIdx`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `BlocIdx` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:370:1 [INFO] [stdout] | [INFO] [stdout] 370 | pub enum BlocIdx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] ... [INFO] [stdout] 949 | Some(res[0]) [INFO] [stdout] | ------ you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.head` which is behind a mutable reference [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1226:43 [INFO] [stdout] | [INFO] [stdout] 1226 | let sector = self.disc.sector_mut(self.head, track, sector_id).unwrap(); [INFO] [stdout] | ^^^^^^^^^ move occurs because `self.head` has type `edsk::Head`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `edsk::Head` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Head { [INFO] [stdout] | ^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1226:43 [INFO] [stdout] | [INFO] [stdout] 1226 | let sector = self.disc.sector_mut(self.head, track, sector_id).unwrap(); [INFO] [stdout] | --------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `bloc_idx` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1295:56 [INFO] [stdout] | [INFO] [stdout] 1289 | pub fn update_bloc(&mut self, bloc_idx: BlocIdx, content: &[u8]) { [INFO] [stdout] | -------- move occurs because `bloc_idx` has type `BlocIdx`, which does not implement the `Copy` trait [INFO] [stdout] 1290 | assert!(bloc_idx.is_valid()); [INFO] [stdout] | ---------- `bloc_idx` moved due to this method call [INFO] [stdout] ... [INFO] [stdout] 1295 | let access_info = self.bloc_access_information(bloc_idx); [INFO] [stdout] | ^^^^^^^^ value used here after move [INFO] [stdout] | [INFO] [stdout] note: `BlocIdx::is_valid` takes ownership of the receiver `self`, which moves `bloc_idx` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:423:21 [INFO] [stdout] | [INFO] [stdout] 423 | pub fn is_valid(self) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.head` which is behind a mutable reference [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1300:25 [INFO] [stdout] | [INFO] [stdout] 1300 | .sector_mut(self.head, access_info.track1, access_info.sector1_id) [INFO] [stdout] | ^^^^^^^^^ move occurs because `self.head` has type `edsk::Head`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `edsk::Head` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Head { [INFO] [stdout] | ^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1300:25 [INFO] [stdout] | [INFO] [stdout] 1300 | .sector_mut(self.head, access_info.track1, access_info.sector1_id) [INFO] [stdout] | --------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.head` which is behind a mutable reference [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1307:25 [INFO] [stdout] | [INFO] [stdout] 1307 | .sector_mut(self.head, access_info.track2, access_info.sector2_id) [INFO] [stdout] | ^^^^^^^^^ move occurs because `self.head` has type `edsk::Head`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `edsk::Head` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Head { [INFO] [stdout] | ^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1307:25 [INFO] [stdout] | [INFO] [stdout] 1307 | .sector_mut(self.head, access_info.track2, access_info.sector2_id) [INFO] [stdout] | --------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `bloc_idx` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1317:56 [INFO] [stdout] | [INFO] [stdout] 1315 | pub fn read_bloc(&self, bloc_idx: BlocIdx) -> Vec { [INFO] [stdout] | -------- move occurs because `bloc_idx` has type `BlocIdx`, which does not implement the `Copy` trait [INFO] [stdout] 1316 | assert!(bloc_idx.is_valid()); [INFO] [stdout] | ---------- `bloc_idx` moved due to this method call [INFO] [stdout] 1317 | let access_info = self.bloc_access_information(bloc_idx); [INFO] [stdout] | ^^^^^^^^ value used here after move [INFO] [stdout] | [INFO] [stdout] note: `BlocIdx::is_valid` takes ownership of the receiver `self`, which moves `bloc_idx` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:423:21 [INFO] [stdout] | [INFO] [stdout] 423 | pub fn is_valid(self) -> bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.head` which is behind a shared reference [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1321:21 [INFO] [stdout] | [INFO] [stdout] 1321 | .sector(self.head, access_info.track1, access_info.sector1_id) [INFO] [stdout] | ^^^^^^^^^ move occurs because `self.head` has type `edsk::Head`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `edsk::Head` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Head { [INFO] [stdout] | ^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1321:21 [INFO] [stdout] | [INFO] [stdout] 1321 | .sector(self.head, access_info.track1, access_info.sector1_id) [INFO] [stdout] | --------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.head` which is behind a shared reference [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1327:21 [INFO] [stdout] | [INFO] [stdout] 1327 | .sector(self.head, access_info.track2, access_info.sector2_id) [INFO] [stdout] | ^^^^^^^^^ move occurs because `self.head` has type `edsk::Head`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `edsk::Head` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Head { [INFO] [stdout] | ^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1327:21 [INFO] [stdout] | [INFO] [stdout] 1327 | .sector(self.head, access_info.track2, access_info.sector2_id) [INFO] [stdout] | --------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `*bloc_idx` which is behind a shared reference [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:1344:49 [INFO] [stdout] | [INFO] [stdout] 1344 | .flat_map(|bloc_idx| self.read_bloc(*bloc_idx)) [INFO] [stdout] | ^^^^^^^^^ move occurs because `*bloc_idx` has type `BlocIdx`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `BlocIdx` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/amsdos.rs:370:1 [INFO] [stdout] | [INFO] [stdout] 370 | pub enum BlocIdx { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] ... [INFO] [stdout] 1344 | .flat_map(|bloc_idx| self.read_bloc(*bloc_idx)) [INFO] [stdout] | --------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `track_group.head` which is behind a shared reference [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:163:27 [INFO] [stdout] | [INFO] [stdout] 163 | head: track_group.head, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ move occurs because `track_group.head` has type `edsk::Head`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `edsk::Head` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Head { [INFO] [stdout] | ^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:163:27 [INFO] [stdout] | [INFO] [stdout] 163 | head: track_group.head, [INFO] [stdout] | ---------------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.data_rate` which is behind a shared reference [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:461:21 [INFO] [stdout] | [INFO] [stdout] 461 | buffer.push(self.data_rate.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^ ------ `self.data_rate` moved due to this method call [INFO] [stdout] | | [INFO] [stdout] | move occurs because `self.data_rate` has type `DataRate`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: `std::convert::Into::into` takes ownership of the receiver `self`, which moves `self.data_rate` [INFO] [stdout] --> /rustc/8de4c7234dd9b97c9d76b58671343fdbbc9a433e/library/core/src/convert/mod.rs:452:13 [INFO] [stdout] note: if `DataRate` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:540:1 [INFO] [stdout] | [INFO] [stdout] 461 | buffer.push(self.data_rate.into()); [INFO] [stdout] | -------------- you could clone this value [INFO] [stdout] ... [INFO] [stdout] 540 | pub enum DataRate { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.recording_mode` which is behind a shared reference [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:464:21 [INFO] [stdout] | [INFO] [stdout] 464 | buffer.push(self.recording_mode.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ------ `self.recording_mode` moved due to this method call [INFO] [stdout] | | [INFO] [stdout] | move occurs because `self.recording_mode` has type `RecordingMode`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `RecordingMode` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:581:1 [INFO] [stdout] | [INFO] [stdout] 464 | buffer.push(self.recording_mode.into()); [INFO] [stdout] | ------------------- you could clone this value [INFO] [stdout] ... [INFO] [stdout] 581 | pub enum RecordingMode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: use of moved value: `head` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:1162:31 [INFO] [stdout] | [INFO] [stdout] 1159 | let head = head.into(); [INFO] [stdout] | ---- move occurs because `head` has type `edsk::Head`, which does not implement the `Copy` trait [INFO] [stdout] 1160 | [INFO] [stdout] 1161 | for count in 0..nb_sectors { [INFO] [stdout] | -------------------------- inside of this loop [INFO] [stdout] 1162 | match self.sector(head, track, sector_id + count) { [INFO] [stdout] | ^^^^ value moved here, in previous iteration of loop [INFO] [stdout] | [INFO] [stdout] note: consider changing this parameter type in method `sector` to borrow instead if owning the value isn't necessary [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:1117:47 [INFO] [stdout] | [INFO] [stdout] 1117 | pub fn sector>(&self, head: S, track: u8, sector_id: u8) -> Option<&Sector> { [INFO] [stdout] | ------ in this method ^ this parameter takes ownership of the value [INFO] [stdout] note: if `edsk::Head` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/edsk.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Head { [INFO] [stdout] | ^^^^^^^^^^^^^ consider implementing `Clone` for this type [INFO] [stdout] ... [INFO] [stdout] 1162 | match self.sector(head, track, sector_id + count) { [INFO] [stdout] | ---- you could clone this value [INFO] [stdout] help: consider moving the expression out of the loop so it is only moved once [INFO] [stdout] | [INFO] [stdout] 1161 ~ let mut value = self.sector(head, track, sector_id + count); [INFO] [stdout] 1162 ~ for count in 0..nb_sectors { [INFO] [stdout] 1163 ~ match value { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `DiscConfigError` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:76:25 [INFO] [stdout] | [INFO] [stdout] 76 | Err(DiscConfigError::ParseError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | use of undeclared type `DiscConfigError` [INFO] [stdout] | help: a struct with a similar name exists: `DiscConfig` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `DiscConfigError` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cpclib-disc-0.5.0/src/cfg.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | Err(DiscConfigError::ParseError { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | use of undeclared type `DiscConfigError` [INFO] [stdout] | help: a struct with a similar name exists: `DiscConfig` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0369, E0382, E0412, E0433, E0507, E0508, E0557... [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `cpclib-disc` (lib) due to 114 previous errors [INFO] running `Command { std: "docker" "inspect" "92a920a1fb0b42e369c8cf57f20fc6549cfb8f892f76a581a32942ec8f765041", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "92a920a1fb0b42e369c8cf57f20fc6549cfb8f892f76a581a32942ec8f765041", kill_on_drop: false }` [INFO] [stdout] 92a920a1fb0b42e369c8cf57f20fc6549cfb8f892f76a581a32942ec8f765041