[INFO] fetching crate libpulse-binding 2.28.2...
[INFO] testing libpulse-binding-2.28.2 against 1.83.0 for beta-1.84.0-4-retry
[INFO] extracting crate libpulse-binding 2.28.2 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate libpulse-binding 2.28.2 on toolchain 1.83.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.83.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate libpulse-binding 2.28.2
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate libpulse-binding 2.28.2
[INFO] tweaked toml for crates.io crate libpulse-binding 2.28.2 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.83.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 14 packages to latest compatible versions
[INFO] [stderr]       Adding bitflags v1.3.2 (available: v2.6.0)
[INFO] [stderr]       Adding num-derive v0.3.3 (available: v0.4.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.83.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libpulse-sys v1.21.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 91fcbfa98e99302c8c7cd432ba57a7188d4a2a7ae1ae0010a8cf30d471546aa2
[INFO] running `Command { std: "docker" "start" "-a" "91fcbfa98e99302c8c7cd432ba57a7188d4a2a7ae1ae0010a8cf30d471546aa2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "91fcbfa98e99302c8c7cd432ba57a7188d4a2a7ae1ae0010a8cf30d471546aa2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "91fcbfa98e99302c8c7cd432ba57a7188d4a2a7ae1ae0010a8cf30d471546aa2", kill_on_drop: false }`
[INFO] [stdout] 91fcbfa98e99302c8c7cd432ba57a7188d4a2a7ae1ae0010a8cf30d471546aa2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d3a90dab751b01c1191bfda1ba81dfbf10f28328da7d4d32a94e79e06086c57f
[INFO] running `Command { std: "docker" "start" "-a" "d3a90dab751b01c1191bfda1ba81dfbf10f28328da7d4d32a94e79e06086c57f", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling libpulse-sys v1.21.0
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling libpulse-binding v2.28.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/channelmap.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Position`
[INFO] [stdout] 57 | pub enum Position {
[INFO] [stdout]    |          -------- `Position` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/channelmap.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `ToPrimitive` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Position`
[INFO] [stdout] 57 | pub enum Position {
[INFO] [stdout]    |          -------- `Position` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/channelmap.rs:368:35
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stdout]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/channelmap.rs:384:35
[INFO] [stdout]     |
[INFO] [stdout] 384 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stdout]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/mod.rs:123:10
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_State`
[INFO] [stdout] 124 | pub enum State {
[INFO] [stdout]     |          ----- `State` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/mod.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_State`
[INFO] [stdout] 124 | pub enum State {
[INFO] [stdout]     |          ----- `State` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:228:39
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:247:39
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:331:48
[INFO] [stdout]     |
[INFO] [stdout] 331 |             Some(server) => CString::new(server.clone()).unwrap(),
[INFO] [stdout]     |                                                ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:403:39
[INFO] [stdout]     |
[INFO] [stdout] 403 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:421:39
[INFO] [stdout]     |
[INFO] [stdout] 421 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:449:39
[INFO] [stdout]     |
[INFO] [stdout] 449 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:621:51
[INFO] [stdout]     |
[INFO] [stdout] 621 |         let c_path = CString::new(cookie_file_path.clone()).unwrap();
[INFO] [stdout]     |                                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/ext_device_manager.rs:178:40
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let c_dev = CString::new(device.clone()).unwrap();
[INFO] [stdout]     |                                        ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/ext_device_manager.rs:179:46
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let c_desc = CString::new(description.clone()).unwrap();
[INFO] [stdout]     |                                              ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/ext_device_manager.rs:246:39
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let c_role = CString::new(role.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:467:39
[INFO] [stdout]     |
[INFO] [stdout] 467 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:525:39
[INFO] [stdout]     |
[INFO] [stdout] 525 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:559:39
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:578:44
[INFO] [stdout]     |
[INFO] [stdout] 578 |         let c_name = CString::new(sink_name.clone()).unwrap();
[INFO] [stdout]     |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:613:39
[INFO] [stdout]     |
[INFO] [stdout] 613 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:632:39
[INFO] [stdout]     |
[INFO] [stdout] 632 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:633:39
[INFO] [stdout]     |
[INFO] [stdout] 633 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:871:39
[INFO] [stdout]     |
[INFO] [stdout] 871 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:930:39
[INFO] [stdout]     |
[INFO] [stdout] 930 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:964:39
[INFO] [stdout]     |
[INFO] [stdout] 964 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:983:39
[INFO] [stdout]     |
[INFO] [stdout] 983 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1018:39
[INFO] [stdout]      |
[INFO] [stdout] 1018 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1037:39
[INFO] [stdout]      |
[INFO] [stdout] 1037 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1038:39
[INFO] [stdout]      |
[INFO] [stdout] 1038 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1242:39
[INFO] [stdout]      |
[INFO] [stdout] 1242 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1243:42
[INFO] [stdout]      |
[INFO] [stdout] 1243 |         let c_arg = CString::new(argument.clone()).unwrap();
[INFO] [stdout]      |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1699:39
[INFO] [stdout]      |
[INFO] [stdout] 1699 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1729:45
[INFO] [stdout]      |
[INFO] [stdout] 1729 |         let c_profile = CString::new(profile.clone()).unwrap();
[INFO] [stdout]      |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1748:39
[INFO] [stdout]      |
[INFO] [stdout] 1748 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1749:45
[INFO] [stdout]      |
[INFO] [stdout] 1749 |         let c_profile = CString::new(profile.clone()).unwrap();
[INFO] [stdout]      |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1768:44
[INFO] [stdout]      |
[INFO] [stdout] 1768 |         let c_name = CString::new(card_name.clone()).unwrap();
[INFO] [stdout]      |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1769:44
[INFO] [stdout]      |
[INFO] [stdout] 1769 |         let c_port = CString::new(port_name.clone()).unwrap();
[INFO] [stdout]      |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1939:44
[INFO] [stdout]      |
[INFO] [stdout] 1939 |         let c_name = CString::new(sink_name.clone()).unwrap();
[INFO] [stdout]      |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:2168:46
[INFO] [stdout]      |
[INFO] [stdout] 2168 |         let c_name = CString::new(source_name.clone()).unwrap();
[INFO] [stdout]      |                                              ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:2352:39
[INFO] [stdout]      |
[INFO] [stdout] 2352 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/context/scache.rs:80:39
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]    |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/scache.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/scache.rs:109:42
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stdout]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/scache.rs:150:39
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/scache.rs:152:42
[INFO] [stdout]     |
[INFO] [stdout] 152 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stdout]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/subscribe.rs:129:10
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Facility`
[INFO] [stdout] 130 | pub enum Facility {
[INFO] [stdout]     |          -------- `Facility` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/subscribe.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Facility`
[INFO] [stdout] 130 | pub enum Facility {
[INFO] [stdout]     |          -------- `Facility` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/subscribe.rs:155:10
[INFO] [stdout]     |
[INFO] [stdout] 155 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Operation`
[INFO] [stdout] 156 | pub enum Operation {
[INFO] [stdout]     |          --------- `Operation` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/subscribe.rs:155:25
[INFO] [stdout]     |
[INFO] [stdout] 155 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Operation`
[INFO] [stdout] 156 | pub enum Operation {
[INFO] [stdout]     |          --------- `Operation` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/def.rs:395:10
[INFO] [stdout]     |
[INFO] [stdout] 395 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SinkState`
[INFO] [stdout] 396 | pub enum SinkState {
[INFO] [stdout]     |          --------- `SinkState` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/def.rs:395:25
[INFO] [stdout]     |
[INFO] [stdout] 395 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_SinkState`
[INFO] [stdout] 396 | pub enum SinkState {
[INFO] [stdout]     |          --------- `SinkState` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/def.rs:541:10
[INFO] [stdout]     |
[INFO] [stdout] 541 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SourceState`
[INFO] [stdout] 542 | pub enum SourceState {
[INFO] [stdout]     |          ----------- `SourceState` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/def.rs:541:25
[INFO] [stdout]     |
[INFO] [stdout] 541 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_SourceState`
[INFO] [stdout] 542 | pub enum SourceState {
[INFO] [stdout]     |          ----------- `SourceState` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Code`
[INFO] [stdout] 30 | #[allow(non_camel_case_types)]
[INFO] [stdout] 31 | pub enum Code {
[INFO] [stdout]    |          ---- `Code` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `ToPrimitive` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Code`
[INFO] [stdout] 30 | #[allow(non_camel_case_types)]
[INFO] [stdout] 31 | pub enum Code {
[INFO] [stdout]    |          ---- `Code` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/format.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Encoding`
[INFO] [stdout] 37 | #[allow(non_camel_case_types)]
[INFO] [stdout] 38 | pub enum Encoding {
[INFO] [stdout]    |          -------- `Encoding` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/format.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `ToPrimitive` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Encoding`
[INFO] [stdout] 37 | #[allow(non_camel_case_types)]
[INFO] [stdout] 38 | pub enum Encoding {
[INFO] [stdout]    |          -------- `Encoding` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:188:35
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stdout]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:317:37
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:327:37
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:342:37
[INFO] [stdout]     |
[INFO] [stdout] 342 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:357:37
[INFO] [stdout]     |
[INFO] [stdout] 357 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:380:37
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:398:37
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:489:37
[INFO] [stdout]     |
[INFO] [stdout] 489 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:498:37
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:507:37
[INFO] [stdout]     |
[INFO] [stdout] 507 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:516:37
[INFO] [stdout]     |
[INFO] [stdout] 516 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:517:41
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let c_value = CString::new(value.clone()).unwrap();
[INFO] [stdout]     |                                         ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:526:37
[INFO] [stdout]     |
[INFO] [stdout] 526 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mainloop/threaded.rs:559:39
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:230:35
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stdout]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:258:37
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:269:37
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:270:41
[INFO] [stdout]     |
[INFO] [stdout] 270 |         let c_value = CString::new(value.clone()).unwrap();
[INFO] [stdout]     |                                         ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:286:39
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let c_pair = CString::new(pair.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:300:37
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:315:37
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:335:37
[INFO] [stdout]     |
[INFO] [stdout] 335 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:359:37
[INFO] [stdout]     |
[INFO] [stdout] 359 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:439:37
[INFO] [stdout]     |
[INFO] [stdout] 439 |         let c_sep = CString::new(sep.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:460:37
[INFO] [stdout]     |
[INFO] [stdout] 460 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sample.rs:86:10
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Format`
[INFO] [stdout] 87 | #[allow(non_camel_case_types)]
[INFO] [stdout] 88 | pub enum Format {
[INFO] [stdout]    |          ------ `Format` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sample.rs:86:25
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `ToPrimitive` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Format`
[INFO] [stdout] 87 | #[allow(non_camel_case_types)]
[INFO] [stdout] 88 | pub enum Format {
[INFO] [stdout]    |          ------ `Format` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/sample.rs:437:43
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let c_format = CString::new(format.clone()).unwrap();
[INFO] [stdout]     |                                           ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/stream.rs:281:10
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_State`
[INFO] [stdout] 282 | pub enum State {
[INFO] [stdout]     |          ----- `State` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/stream.rs:281:25
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_State`
[INFO] [stdout] 282 | pub enum State {
[INFO] [stdout]     |          ----- `State` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/stream.rs:724:39
[INFO] [stdout]     |
[INFO] [stdout] 724 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/stream.rs:750:39
[INFO] [stdout]     |
[INFO] [stdout] 750 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/stream.rs:781:39
[INFO] [stdout]     |
[INFO] [stdout] 781 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/stream.rs:921:42
[INFO] [stdout]     |
[INFO] [stdout] 921 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stdout]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/stream.rs:952:42
[INFO] [stdout]     |
[INFO] [stdout] 952 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stdout]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/stream.rs:1541:39
[INFO] [stdout]      |
[INFO] [stdout] 1541 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/utf8.rs:26:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let c_str = CString::new(s.clone()).unwrap();
[INFO] [stdout]    |                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.41s
[INFO] running `Command { std: "docker" "inspect" "d3a90dab751b01c1191bfda1ba81dfbf10f28328da7d4d32a94e79e06086c57f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3a90dab751b01c1191bfda1ba81dfbf10f28328da7d4d32a94e79e06086c57f", kill_on_drop: false }`
[INFO] [stdout] d3a90dab751b01c1191bfda1ba81dfbf10f28328da7d4d32a94e79e06086c57f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b1e7b9cf34a7ca73bf8e0aa3d733707f7f30fce25f12af9bb5e10a8f515d61de
[INFO] running `Command { std: "docker" "start" "-a" "b1e7b9cf34a7ca73bf8e0aa3d733707f7f30fce25f12af9bb5e10a8f515d61de", kill_on_drop: false }`
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/channelmap.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Position`
[INFO] [stdout] 57 | pub enum Position {
[INFO] [stdout]    |          -------- `Position` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/channelmap.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `ToPrimitive` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Position`
[INFO] [stdout] 57 | pub enum Position {
[INFO] [stdout]    |          -------- `Position` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/channelmap.rs:368:35
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stdout]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/channelmap.rs:384:35
[INFO] [stdout]     |
[INFO] [stdout] 384 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stdout]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/mod.rs:123:10
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_State`
[INFO] [stdout] 124 | pub enum State {
[INFO] [stdout]     |          ----- `State` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/mod.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_State`
[INFO] [stdout] 124 | pub enum State {
[INFO] [stdout]     |          ----- `State` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:228:39
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:247:39
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:331:48
[INFO] [stdout]     |
[INFO] [stdout] 331 |             Some(server) => CString::new(server.clone()).unwrap(),
[INFO] [stdout]     |                                                ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:403:39
[INFO] [stdout]     |
[INFO] [stdout] 403 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:421:39
[INFO] [stdout]     |
[INFO] [stdout] 421 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:449:39
[INFO] [stdout]     |
[INFO] [stdout] 449 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:621:51
[INFO] [stdout]     |
[INFO] [stdout] 621 |         let c_path = CString::new(cookie_file_path.clone()).unwrap();
[INFO] [stdout]     |                                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/ext_device_manager.rs:178:40
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let c_dev = CString::new(device.clone()).unwrap();
[INFO] [stdout]     |                                        ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/ext_device_manager.rs:179:46
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let c_desc = CString::new(description.clone()).unwrap();
[INFO] [stdout]     |                                              ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/ext_device_manager.rs:246:39
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let c_role = CString::new(role.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:467:39
[INFO] [stdout]     |
[INFO] [stdout] 467 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:525:39
[INFO] [stdout]     |
[INFO] [stdout] 525 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:559:39
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:578:44
[INFO] [stdout]     |
[INFO] [stdout] 578 |         let c_name = CString::new(sink_name.clone()).unwrap();
[INFO] [stdout]     |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:613:39
[INFO] [stdout]     |
[INFO] [stdout] 613 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:632:39
[INFO] [stdout]     |
[INFO] [stdout] 632 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:633:39
[INFO] [stdout]     |
[INFO] [stdout] 633 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:871:39
[INFO] [stdout]     |
[INFO] [stdout] 871 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:930:39
[INFO] [stdout]     |
[INFO] [stdout] 930 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:964:39
[INFO] [stdout]     |
[INFO] [stdout] 964 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:983:39
[INFO] [stdout]     |
[INFO] [stdout] 983 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1018:39
[INFO] [stdout]      |
[INFO] [stdout] 1018 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1037:39
[INFO] [stdout]      |
[INFO] [stdout] 1037 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1038:39
[INFO] [stdout]      |
[INFO] [stdout] 1038 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1242:39
[INFO] [stdout]      |
[INFO] [stdout] 1242 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1243:42
[INFO] [stdout]      |
[INFO] [stdout] 1243 |         let c_arg = CString::new(argument.clone()).unwrap();
[INFO] [stdout]      |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1699:39
[INFO] [stdout]      |
[INFO] [stdout] 1699 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1729:45
[INFO] [stdout]      |
[INFO] [stdout] 1729 |         let c_profile = CString::new(profile.clone()).unwrap();
[INFO] [stdout]      |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1748:39
[INFO] [stdout]      |
[INFO] [stdout] 1748 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1749:45
[INFO] [stdout]      |
[INFO] [stdout] 1749 |         let c_profile = CString::new(profile.clone()).unwrap();
[INFO] [stdout]      |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1768:44
[INFO] [stdout]      |
[INFO] [stdout] 1768 |         let c_name = CString::new(card_name.clone()).unwrap();
[INFO] [stdout]      |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1769:44
[INFO] [stdout]      |
[INFO] [stdout] 1769 |         let c_port = CString::new(port_name.clone()).unwrap();
[INFO] [stdout]      |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1939:44
[INFO] [stdout]      |
[INFO] [stdout] 1939 |         let c_name = CString::new(sink_name.clone()).unwrap();
[INFO] [stdout]      |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:2168:46
[INFO] [stdout]      |
[INFO] [stdout] 2168 |         let c_name = CString::new(source_name.clone()).unwrap();
[INFO] [stdout]      |                                              ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:2352:39
[INFO] [stdout]      |
[INFO] [stdout] 2352 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/context/scache.rs:80:39
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]    |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/scache.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/scache.rs:109:42
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stdout]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/scache.rs:150:39
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/scache.rs:152:42
[INFO] [stdout]     |
[INFO] [stdout] 152 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stdout]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/subscribe.rs:129:10
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Facility`
[INFO] [stdout] 130 | pub enum Facility {
[INFO] [stdout]     |          -------- `Facility` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/subscribe.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Facility`
[INFO] [stdout] 130 | pub enum Facility {
[INFO] [stdout]     |          -------- `Facility` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/subscribe.rs:155:10
[INFO] [stdout]     |
[INFO] [stdout] 155 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Operation`
[INFO] [stdout] 156 | pub enum Operation {
[INFO] [stdout]     |          --------- `Operation` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/subscribe.rs:155:25
[INFO] [stdout]     |
[INFO] [stdout] 155 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Operation`
[INFO] [stdout] 156 | pub enum Operation {
[INFO] [stdout]     |          --------- `Operation` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/def.rs:395:10
[INFO] [stdout]     |
[INFO] [stdout] 395 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SinkState`
[INFO] [stdout] 396 | pub enum SinkState {
[INFO] [stdout]     |          --------- `SinkState` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/def.rs:395:25
[INFO] [stdout]     |
[INFO] [stdout] 395 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_SinkState`
[INFO] [stdout] 396 | pub enum SinkState {
[INFO] [stdout]     |          --------- `SinkState` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/def.rs:541:10
[INFO] [stdout]     |
[INFO] [stdout] 541 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SourceState`
[INFO] [stdout] 542 | pub enum SourceState {
[INFO] [stdout]     |          ----------- `SourceState` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/def.rs:541:25
[INFO] [stdout]     |
[INFO] [stdout] 541 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_SourceState`
[INFO] [stdout] 542 | pub enum SourceState {
[INFO] [stdout]     |          ----------- `SourceState` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Code`
[INFO] [stdout] 30 | #[allow(non_camel_case_types)]
[INFO] [stdout] 31 | pub enum Code {
[INFO] [stdout]    |          ---- `Code` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `ToPrimitive` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Code`
[INFO] [stdout] 30 | #[allow(non_camel_case_types)]
[INFO] [stdout] 31 | pub enum Code {
[INFO] [stdout]    |          ---- `Code` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/format.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Encoding`
[INFO] [stdout] 37 | #[allow(non_camel_case_types)]
[INFO] [stdout] 38 | pub enum Encoding {
[INFO] [stdout]    |          -------- `Encoding` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/format.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `ToPrimitive` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Encoding`
[INFO] [stdout] 37 | #[allow(non_camel_case_types)]
[INFO] [stdout] 38 | pub enum Encoding {
[INFO] [stdout]    |          -------- `Encoding` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:188:35
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stdout]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:317:37
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:327:37
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:342:37
[INFO] [stdout]     |
[INFO] [stdout] 342 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:357:37
[INFO] [stdout]     |
[INFO] [stdout] 357 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:380:37
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:398:37
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:489:37
[INFO] [stdout]     |
[INFO] [stdout] 489 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:498:37
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:507:37
[INFO] [stdout]     |
[INFO] [stdout] 507 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:516:37
[INFO] [stdout]     |
[INFO] [stdout] 516 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:517:41
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let c_value = CString::new(value.clone()).unwrap();
[INFO] [stdout]     |                                         ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:526:37
[INFO] [stdout]     |
[INFO] [stdout] 526 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mainloop/threaded.rs:559:39
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:230:35
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stdout]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:258:37
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:269:37
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:270:41
[INFO] [stdout]     |
[INFO] [stdout] 270 |         let c_value = CString::new(value.clone()).unwrap();
[INFO] [stdout]     |                                         ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:286:39
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let c_pair = CString::new(pair.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:300:37
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:315:37
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:335:37
[INFO] [stdout]     |
[INFO] [stdout] 335 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:359:37
[INFO] [stdout]     |
[INFO] [stdout] 359 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:439:37
[INFO] [stdout]     |
[INFO] [stdout] 439 |         let c_sep = CString::new(sep.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:460:37
[INFO] [stdout]     |
[INFO] [stdout] 460 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sample.rs:86:10
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Format`
[INFO] [stdout] 87 | #[allow(non_camel_case_types)]
[INFO] [stdout] 88 | pub enum Format {
[INFO] [stdout]    |          ------ `Format` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sample.rs:86:25
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `ToPrimitive` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Format`
[INFO] [stdout] 87 | #[allow(non_camel_case_types)]
[INFO] [stdout] 88 | pub enum Format {
[INFO] [stdout]    |          ------ `Format` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/sample.rs:437:43
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let c_format = CString::new(format.clone()).unwrap();
[INFO] [stdout]     |                                           ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling libpulse-binding v2.28.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/stream.rs:281:10
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_State`
[INFO] [stdout] 282 | pub enum State {
[INFO] [stdout]     |          ----- `State` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/stream.rs:281:25
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_State`
[INFO] [stdout] 282 | pub enum State {
[INFO] [stdout]     |          ----- `State` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/stream.rs:724:39
[INFO] [stdout]     |
[INFO] [stdout] 724 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/stream.rs:750:39
[INFO] [stdout]     |
[INFO] [stdout] 750 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/stream.rs:781:39
[INFO] [stdout]     |
[INFO] [stdout] 781 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/stream.rs:921:42
[INFO] [stdout]     |
[INFO] [stdout] 921 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stdout]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/stream.rs:952:42
[INFO] [stdout]     |
[INFO] [stdout] 952 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stdout]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/stream.rs:1541:39
[INFO] [stdout]      |
[INFO] [stdout] 1541 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/utf8.rs:26:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let c_str = CString::new(s.clone()).unwrap();
[INFO] [stdout]    |                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `compile_fail`
[INFO] [stdout]    --> src/proplist.rs:513:11
[INFO] [stdout]     |
[INFO] [stdout] 513 |     #[cfg(compile_fail)]
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(compile_fail)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(compile_fail)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/channelmap.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Position`
[INFO] [stdout] 57 | pub enum Position {
[INFO] [stdout]    |          -------- `Position` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/channelmap.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `ToPrimitive` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Position`
[INFO] [stdout] 57 | pub enum Position {
[INFO] [stdout]    |          -------- `Position` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/channelmap.rs:368:35
[INFO] [stdout]     |
[INFO] [stdout] 368 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stdout]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/channelmap.rs:384:35
[INFO] [stdout]     |
[INFO] [stdout] 384 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stdout]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/mod.rs:123:10
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_State`
[INFO] [stdout] 124 | pub enum State {
[INFO] [stdout]     |          ----- `State` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/mod.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 123 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_State`
[INFO] [stdout] 124 | pub enum State {
[INFO] [stdout]     |          ----- `State` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:228:39
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:247:39
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:331:48
[INFO] [stdout]     |
[INFO] [stdout] 331 |             Some(server) => CString::new(server.clone()).unwrap(),
[INFO] [stdout]     |                                                ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:403:39
[INFO] [stdout]     |
[INFO] [stdout] 403 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:421:39
[INFO] [stdout]     |
[INFO] [stdout] 421 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:449:39
[INFO] [stdout]     |
[INFO] [stdout] 449 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/mod.rs:621:51
[INFO] [stdout]     |
[INFO] [stdout] 621 |         let c_path = CString::new(cookie_file_path.clone()).unwrap();
[INFO] [stdout]     |                                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/ext_device_manager.rs:178:40
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let c_dev = CString::new(device.clone()).unwrap();
[INFO] [stdout]     |                                        ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/ext_device_manager.rs:179:46
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let c_desc = CString::new(description.clone()).unwrap();
[INFO] [stdout]     |                                              ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/ext_device_manager.rs:246:39
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let c_role = CString::new(role.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:467:39
[INFO] [stdout]     |
[INFO] [stdout] 467 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:525:39
[INFO] [stdout]     |
[INFO] [stdout] 525 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:559:39
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:578:44
[INFO] [stdout]     |
[INFO] [stdout] 578 |         let c_name = CString::new(sink_name.clone()).unwrap();
[INFO] [stdout]     |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:613:39
[INFO] [stdout]     |
[INFO] [stdout] 613 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:632:39
[INFO] [stdout]     |
[INFO] [stdout] 632 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:633:39
[INFO] [stdout]     |
[INFO] [stdout] 633 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:871:39
[INFO] [stdout]     |
[INFO] [stdout] 871 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:930:39
[INFO] [stdout]     |
[INFO] [stdout] 930 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:964:39
[INFO] [stdout]     |
[INFO] [stdout] 964 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/introspect.rs:983:39
[INFO] [stdout]     |
[INFO] [stdout] 983 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1018:39
[INFO] [stdout]      |
[INFO] [stdout] 1018 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1037:39
[INFO] [stdout]      |
[INFO] [stdout] 1037 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1038:39
[INFO] [stdout]      |
[INFO] [stdout] 1038 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1242:39
[INFO] [stdout]      |
[INFO] [stdout] 1242 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1243:42
[INFO] [stdout]      |
[INFO] [stdout] 1243 |         let c_arg = CString::new(argument.clone()).unwrap();
[INFO] [stdout]      |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1699:39
[INFO] [stdout]      |
[INFO] [stdout] 1699 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1729:45
[INFO] [stdout]      |
[INFO] [stdout] 1729 |         let c_profile = CString::new(profile.clone()).unwrap();
[INFO] [stdout]      |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1748:39
[INFO] [stdout]      |
[INFO] [stdout] 1748 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1749:45
[INFO] [stdout]      |
[INFO] [stdout] 1749 |         let c_profile = CString::new(profile.clone()).unwrap();
[INFO] [stdout]      |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1768:44
[INFO] [stdout]      |
[INFO] [stdout] 1768 |         let c_name = CString::new(card_name.clone()).unwrap();
[INFO] [stdout]      |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1769:44
[INFO] [stdout]      |
[INFO] [stdout] 1769 |         let c_port = CString::new(port_name.clone()).unwrap();
[INFO] [stdout]      |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:1939:44
[INFO] [stdout]      |
[INFO] [stdout] 1939 |         let c_name = CString::new(sink_name.clone()).unwrap();
[INFO] [stdout]      |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:2168:46
[INFO] [stdout]      |
[INFO] [stdout] 2168 |         let c_name = CString::new(source_name.clone()).unwrap();
[INFO] [stdout]      |                                              ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/context/introspect.rs:2352:39
[INFO] [stdout]      |
[INFO] [stdout] 2352 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/context/scache.rs:80:39
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]    |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/scache.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/scache.rs:109:42
[INFO] [stdout]     |
[INFO] [stdout] 109 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stdout]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/scache.rs:150:39
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/context/scache.rs:152:42
[INFO] [stdout]     |
[INFO] [stdout] 152 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stdout]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/subscribe.rs:129:10
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Facility`
[INFO] [stdout] 130 | pub enum Facility {
[INFO] [stdout]     |          -------- `Facility` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/subscribe.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Facility`
[INFO] [stdout] 130 | pub enum Facility {
[INFO] [stdout]     |          -------- `Facility` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/subscribe.rs:155:10
[INFO] [stdout]     |
[INFO] [stdout] 155 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Operation`
[INFO] [stdout] 156 | pub enum Operation {
[INFO] [stdout]     |          --------- `Operation` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/context/subscribe.rs:155:25
[INFO] [stdout]     |
[INFO] [stdout] 155 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Operation`
[INFO] [stdout] 156 | pub enum Operation {
[INFO] [stdout]     |          --------- `Operation` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/def.rs:395:10
[INFO] [stdout]     |
[INFO] [stdout] 395 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SinkState`
[INFO] [stdout] 396 | pub enum SinkState {
[INFO] [stdout]     |          --------- `SinkState` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/def.rs:395:25
[INFO] [stdout]     |
[INFO] [stdout] 395 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_SinkState`
[INFO] [stdout] 396 | pub enum SinkState {
[INFO] [stdout]     |          --------- `SinkState` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/def.rs:541:10
[INFO] [stdout]     |
[INFO] [stdout] 541 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SourceState`
[INFO] [stdout] 542 | pub enum SourceState {
[INFO] [stdout]     |          ----------- `SourceState` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/def.rs:541:25
[INFO] [stdout]     |
[INFO] [stdout] 541 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_SourceState`
[INFO] [stdout] 542 | pub enum SourceState {
[INFO] [stdout]     |          ----------- `SourceState` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Code`
[INFO] [stdout] 30 | #[allow(non_camel_case_types)]
[INFO] [stdout] 31 | pub enum Code {
[INFO] [stdout]    |          ---- `Code` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/error.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `ToPrimitive` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Code`
[INFO] [stdout] 30 | #[allow(non_camel_case_types)]
[INFO] [stdout] 31 | pub enum Code {
[INFO] [stdout]    |          ---- `Code` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/format.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Encoding`
[INFO] [stdout] 37 | #[allow(non_camel_case_types)]
[INFO] [stdout] 38 | pub enum Encoding {
[INFO] [stdout]    |          -------- `Encoding` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/format.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `ToPrimitive` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Encoding`
[INFO] [stdout] 37 | #[allow(non_camel_case_types)]
[INFO] [stdout] 38 | pub enum Encoding {
[INFO] [stdout]    |          -------- `Encoding` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:188:35
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stdout]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:317:37
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:327:37
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:342:37
[INFO] [stdout]     |
[INFO] [stdout] 342 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:357:37
[INFO] [stdout]     |
[INFO] [stdout] 357 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:380:37
[INFO] [stdout]     |
[INFO] [stdout] 380 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:398:37
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:489:37
[INFO] [stdout]     |
[INFO] [stdout] 489 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:498:37
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:507:37
[INFO] [stdout]     |
[INFO] [stdout] 507 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:516:37
[INFO] [stdout]     |
[INFO] [stdout] 516 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:517:41
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let c_value = CString::new(value.clone()).unwrap();
[INFO] [stdout]     |                                         ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/format.rs:526:37
[INFO] [stdout]     |
[INFO] [stdout] 526 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/mainloop/threaded.rs:559:39
[INFO] [stdout]     |
[INFO] [stdout] 559 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:230:35
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stdout]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:258:37
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:269:37
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:270:41
[INFO] [stdout]     |
[INFO] [stdout] 270 |         let c_value = CString::new(value.clone()).unwrap();
[INFO] [stdout]     |                                         ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:286:39
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let c_pair = CString::new(pair.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:300:37
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:315:37
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:335:37
[INFO] [stdout]     |
[INFO] [stdout] 335 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:359:37
[INFO] [stdout]     |
[INFO] [stdout] 359 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:439:37
[INFO] [stdout]     |
[INFO] [stdout] 439 |         let c_sep = CString::new(sep.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/proplist.rs:460:37
[INFO] [stdout]     |
[INFO] [stdout] 460 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stdout]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sample.rs:86:10
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Format`
[INFO] [stdout] 87 | #[allow(non_camel_case_types)]
[INFO] [stdout] 88 | pub enum Format {
[INFO] [stdout]    |          ------ `Format` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/sample.rs:86:25
[INFO] [stdout]    |
[INFO] [stdout] 86 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]    |                         ^----------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `ToPrimitive` is not local
[INFO] [stdout]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Format`
[INFO] [stdout] 87 | #[allow(non_camel_case_types)]
[INFO] [stdout] 88 | pub enum Format {
[INFO] [stdout]    |          ------ `Format` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/sample.rs:437:43
[INFO] [stdout]     |
[INFO] [stdout] 437 |         let c_format = CString::new(format.clone()).unwrap();
[INFO] [stdout]     |                                           ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/stream.rs:281:10
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_State`
[INFO] [stdout] 282 | pub enum State {
[INFO] [stdout]     |          ----- `State` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/stream.rs:281:25
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stdout]     |                         ^----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `ToPrimitive` is not local
[INFO] [stdout]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_State`
[INFO] [stdout] 282 | pub enum State {
[INFO] [stdout]     |          ----- `State` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/stream.rs:724:39
[INFO] [stdout]     |
[INFO] [stdout] 724 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/stream.rs:750:39
[INFO] [stdout]     |
[INFO] [stdout] 750 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/stream.rs:781:39
[INFO] [stdout]     |
[INFO] [stdout] 781 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/stream.rs:921:42
[INFO] [stdout]     |
[INFO] [stdout] 921 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stdout]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/stream.rs:952:42
[INFO] [stdout]     |
[INFO] [stdout] 952 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stdout]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/stream.rs:1541:39
[INFO] [stdout]      |
[INFO] [stdout] 1541 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stdout]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/utf8.rs:26:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let c_str = CString::new(s.clone()).unwrap();
[INFO] [stdout]    |                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.90s
[INFO] running `Command { std: "docker" "inspect" "b1e7b9cf34a7ca73bf8e0aa3d733707f7f30fce25f12af9bb5e10a8f515d61de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1e7b9cf34a7ca73bf8e0aa3d733707f7f30fce25f12af9bb5e10a8f515d61de", kill_on_drop: false }`
[INFO] [stdout] b1e7b9cf34a7ca73bf8e0aa3d733707f7f30fce25f12af9bb5e10a8f515d61de
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+1.83.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6e2eb618d267fdaef1d28c72147a4af3ace935af2a48cb52f5fd51fdb05f5de0
[INFO] running `Command { std: "docker" "start" "-a" "6e2eb618d267fdaef1d28c72147a4af3ace935af2a48cb52f5fd51fdb05f5de0", kill_on_drop: false }`
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/channelmap.rs:56:10
[INFO] [stderr]    |
[INFO] [stderr] 56 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |          ^------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `FromPrimitive` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Position`
[INFO] [stderr] 57 | pub enum Position {
[INFO] [stderr]    |          -------- `Position` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/channelmap.rs:56:25
[INFO] [stderr]    |
[INFO] [stderr] 56 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                         ^----------
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         `ToPrimitive` is not local
[INFO] [stderr]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Position`
[INFO] [stderr] 57 | pub enum Position {
[INFO] [stderr]    |          -------- `Position` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/channelmap.rs:368:35
[INFO] [stderr]     |
[INFO] [stderr] 368 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stderr]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/channelmap.rs:384:35
[INFO] [stderr]     |
[INFO] [stderr] 384 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stderr]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/context/mod.rs:123:10
[INFO] [stderr]     |
[INFO] [stderr] 123 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]     |          ^------------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `FromPrimitive` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_State`
[INFO] [stderr] 124 | pub enum State {
[INFO] [stderr]     |          ----- `State` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/context/mod.rs:123:25
[INFO] [stderr]     |
[INFO] [stderr] 123 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]     |                         ^----------
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         `ToPrimitive` is not local
[INFO] [stderr]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_State`
[INFO] [stderr] 124 | pub enum State {
[INFO] [stderr]     |          ----- `State` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/mod.rs:228:39
[INFO] [stderr]     |
[INFO] [stderr] 228 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/mod.rs:247:39
[INFO] [stderr]     |
[INFO] [stderr] 247 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/mod.rs:331:48
[INFO] [stderr]     |
[INFO] [stderr] 331 |             Some(server) => CString::new(server.clone()).unwrap(),
[INFO] [stderr]     |                                                ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/mod.rs:403:39
[INFO] [stderr]     |
[INFO] [stderr] 403 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/mod.rs:421:39
[INFO] [stderr]     |
[INFO] [stderr] 421 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/mod.rs:449:39
[INFO] [stderr]     |
[INFO] [stderr] 449 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/mod.rs:621:51
[INFO] [stderr]     |
[INFO] [stderr] 621 |         let c_path = CString::new(cookie_file_path.clone()).unwrap();
[INFO] [stderr]     |                                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/ext_device_manager.rs:178:40
[INFO] [stderr]     |
[INFO] [stderr] 178 |         let c_dev = CString::new(device.clone()).unwrap();
[INFO] [stderr]     |                                        ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/ext_device_manager.rs:179:46
[INFO] [stderr]     |
[INFO] [stderr] 179 |         let c_desc = CString::new(description.clone()).unwrap();
[INFO] [stderr]     |                                              ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/ext_device_manager.rs:246:39
[INFO] [stderr]     |
[INFO] [stderr] 246 |         let c_role = CString::new(role.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/introspect.rs:467:39
[INFO] [stderr]     |
[INFO] [stderr] 467 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/introspect.rs:525:39
[INFO] [stderr]     |
[INFO] [stderr] 525 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/introspect.rs:559:39
[INFO] [stderr]     |
[INFO] [stderr] 559 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/introspect.rs:578:44
[INFO] [stderr]     |
[INFO] [stderr] 578 |         let c_name = CString::new(sink_name.clone()).unwrap();
[INFO] [stderr]     |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/introspect.rs:613:39
[INFO] [stderr]     |
[INFO] [stderr] 613 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/introspect.rs:632:39
[INFO] [stderr]     |
[INFO] [stderr] 632 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/introspect.rs:633:39
[INFO] [stderr]     |
[INFO] [stderr] 633 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/introspect.rs:871:39
[INFO] [stderr]     |
[INFO] [stderr] 871 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/introspect.rs:930:39
[INFO] [stderr]     |
[INFO] [stderr] 930 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/introspect.rs:964:39
[INFO] [stderr]     |
[INFO] [stderr] 964 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/introspect.rs:983:39
[INFO] [stderr]     |
[INFO] [stderr] 983 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/context/introspect.rs:1018:39
[INFO] [stderr]      |
[INFO] [stderr] 1018 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stderr]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/context/introspect.rs:1037:39
[INFO] [stderr]      |
[INFO] [stderr] 1037 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/context/introspect.rs:1038:39
[INFO] [stderr]      |
[INFO] [stderr] 1038 |         let c_port = CString::new(port.clone()).unwrap();
[INFO] [stderr]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/context/introspect.rs:1242:39
[INFO] [stderr]      |
[INFO] [stderr] 1242 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/context/introspect.rs:1243:42
[INFO] [stderr]      |
[INFO] [stderr] 1243 |         let c_arg = CString::new(argument.clone()).unwrap();
[INFO] [stderr]      |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/context/introspect.rs:1699:39
[INFO] [stderr]      |
[INFO] [stderr] 1699 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/context/introspect.rs:1729:45
[INFO] [stderr]      |
[INFO] [stderr] 1729 |         let c_profile = CString::new(profile.clone()).unwrap();
[INFO] [stderr]      |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/context/introspect.rs:1748:39
[INFO] [stderr]      |
[INFO] [stderr] 1748 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/context/introspect.rs:1749:45
[INFO] [stderr]      |
[INFO] [stderr] 1749 |         let c_profile = CString::new(profile.clone()).unwrap();
[INFO] [stderr]      |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/context/introspect.rs:1768:44
[INFO] [stderr]      |
[INFO] [stderr] 1768 |         let c_name = CString::new(card_name.clone()).unwrap();
[INFO] [stderr]      |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/context/introspect.rs:1769:44
[INFO] [stderr]      |
[INFO] [stderr] 1769 |         let c_port = CString::new(port_name.clone()).unwrap();
[INFO] [stderr]      |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/context/introspect.rs:1939:44
[INFO] [stderr]      |
[INFO] [stderr] 1939 |         let c_name = CString::new(sink_name.clone()).unwrap();
[INFO] [stderr]      |                                            ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/context/introspect.rs:2168:46
[INFO] [stderr]      |
[INFO] [stderr] 2168 |         let c_name = CString::new(source_name.clone()).unwrap();
[INFO] [stderr]      |                                              ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/context/introspect.rs:2352:39
[INFO] [stderr]      |
[INFO] [stderr] 2352 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]   --> src/context/scache.rs:80:39
[INFO] [stderr]    |
[INFO] [stderr] 80 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]    |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]    |
[INFO] [stderr]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/scache.rs:107:39
[INFO] [stderr]     |
[INFO] [stderr] 107 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/scache.rs:109:42
[INFO] [stderr]     |
[INFO] [stderr] 109 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stderr]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/scache.rs:150:39
[INFO] [stderr]     |
[INFO] [stderr] 150 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/context/scache.rs:152:42
[INFO] [stderr]     |
[INFO] [stderr] 152 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stderr]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/context/subscribe.rs:129:10
[INFO] [stderr]     |
[INFO] [stderr] 129 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]     |          ^------------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `FromPrimitive` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Facility`
[INFO] [stderr] 130 | pub enum Facility {
[INFO] [stderr]     |          -------- `Facility` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/context/subscribe.rs:129:25
[INFO] [stderr]     |
[INFO] [stderr] 129 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]     |                         ^----------
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         `ToPrimitive` is not local
[INFO] [stderr]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Facility`
[INFO] [stderr] 130 | pub enum Facility {
[INFO] [stderr]     |          -------- `Facility` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/context/subscribe.rs:155:10
[INFO] [stderr]     |
[INFO] [stderr] 155 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]     |          ^------------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `FromPrimitive` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Operation`
[INFO] [stderr] 156 | pub enum Operation {
[INFO] [stderr]     |          --------- `Operation` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/context/subscribe.rs:155:25
[INFO] [stderr]     |
[INFO] [stderr] 155 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]     |                         ^----------
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         `ToPrimitive` is not local
[INFO] [stderr]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Operation`
[INFO] [stderr] 156 | pub enum Operation {
[INFO] [stderr]     |          --------- `Operation` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/def.rs:395:10
[INFO] [stderr]     |
[INFO] [stderr] 395 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]     |          ^------------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `FromPrimitive` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SinkState`
[INFO] [stderr] 396 | pub enum SinkState {
[INFO] [stderr]     |          --------- `SinkState` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/def.rs:395:25
[INFO] [stderr]     |
[INFO] [stderr] 395 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]     |                         ^----------
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         `ToPrimitive` is not local
[INFO] [stderr]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_SinkState`
[INFO] [stderr] 396 | pub enum SinkState {
[INFO] [stderr]     |          --------- `SinkState` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/def.rs:541:10
[INFO] [stderr]     |
[INFO] [stderr] 541 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]     |          ^------------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `FromPrimitive` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SourceState`
[INFO] [stderr] 542 | pub enum SourceState {
[INFO] [stderr]     |          ----------- `SourceState` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/def.rs:541:25
[INFO] [stderr]     |
[INFO] [stderr] 541 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]     |                         ^----------
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         `ToPrimitive` is not local
[INFO] [stderr]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_SourceState`
[INFO] [stderr] 542 | pub enum SourceState {
[INFO] [stderr]     |          ----------- `SourceState` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/error.rs:29:10
[INFO] [stderr]    |
[INFO] [stderr] 29 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |          ^------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `FromPrimitive` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Code`
[INFO] [stderr] 30 | #[allow(non_camel_case_types)]
[INFO] [stderr] 31 | pub enum Code {
[INFO] [stderr]    |          ---- `Code` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/error.rs:29:25
[INFO] [stderr]    |
[INFO] [stderr] 29 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                         ^----------
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         `ToPrimitive` is not local
[INFO] [stderr]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Code`
[INFO] [stderr] 30 | #[allow(non_camel_case_types)]
[INFO] [stderr] 31 | pub enum Code {
[INFO] [stderr]    |          ---- `Code` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/format.rs:36:10
[INFO] [stderr]    |
[INFO] [stderr] 36 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |          ^------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `FromPrimitive` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Encoding`
[INFO] [stderr] 37 | #[allow(non_camel_case_types)]
[INFO] [stderr] 38 | pub enum Encoding {
[INFO] [stderr]    |          -------- `Encoding` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/format.rs:36:25
[INFO] [stderr]    |
[INFO] [stderr] 36 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                         ^----------
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         `ToPrimitive` is not local
[INFO] [stderr]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Encoding`
[INFO] [stderr] 37 | #[allow(non_camel_case_types)]
[INFO] [stderr] 38 | pub enum Encoding {
[INFO] [stderr]    |          -------- `Encoding` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/format.rs:188:35
[INFO] [stderr]     |
[INFO] [stderr] 188 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stderr]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/format.rs:317:37
[INFO] [stderr]     |
[INFO] [stderr] 317 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/format.rs:327:37
[INFO] [stderr]     |
[INFO] [stderr] 327 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/format.rs:342:37
[INFO] [stderr]     |
[INFO] [stderr] 342 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/format.rs:357:37
[INFO] [stderr]     |
[INFO] [stderr] 357 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/format.rs:380:37
[INFO] [stderr]     |
[INFO] [stderr] 380 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/format.rs:398:37
[INFO] [stderr]     |
[INFO] [stderr] 398 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/format.rs:489:37
[INFO] [stderr]     |
[INFO] [stderr] 489 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/format.rs:498:37
[INFO] [stderr]     |
[INFO] [stderr] 498 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/format.rs:507:37
[INFO] [stderr]     |
[INFO] [stderr] 507 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/format.rs:516:37
[INFO] [stderr]     |
[INFO] [stderr] 516 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/format.rs:517:41
[INFO] [stderr]     |
[INFO] [stderr] 517 |         let c_value = CString::new(value.clone()).unwrap();
[INFO] [stderr]     |                                         ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/format.rs:526:37
[INFO] [stderr]     |
[INFO] [stderr] 526 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/mainloop/threaded.rs:559:39
[INFO] [stderr]     |
[INFO] [stderr] 559 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/proplist.rs:230:35
[INFO] [stderr]     |
[INFO] [stderr] 230 |         let c_str = CString::new(s.clone()).unwrap();
[INFO] [stderr]     |                                   ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/proplist.rs:258:37
[INFO] [stderr]     |
[INFO] [stderr] 258 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/proplist.rs:269:37
[INFO] [stderr]     |
[INFO] [stderr] 269 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/proplist.rs:270:41
[INFO] [stderr]     |
[INFO] [stderr] 270 |         let c_value = CString::new(value.clone()).unwrap();
[INFO] [stderr]     |                                         ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/proplist.rs:286:39
[INFO] [stderr]     |
[INFO] [stderr] 286 |         let c_pair = CString::new(pair.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/proplist.rs:300:37
[INFO] [stderr]     |
[INFO] [stderr] 300 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/proplist.rs:315:37
[INFO] [stderr]     |
[INFO] [stderr] 315 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/proplist.rs:335:37
[INFO] [stderr]     |
[INFO] [stderr] 335 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/proplist.rs:359:37
[INFO] [stderr]     |
[INFO] [stderr] 359 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/proplist.rs:439:37
[INFO] [stderr]     |
[INFO] [stderr] 439 |         let c_sep = CString::new(sep.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/proplist.rs:460:37
[INFO] [stderr]     |
[INFO] [stderr] 460 |         let c_key = CString::new(key.clone()).unwrap();
[INFO] [stderr]     |                                     ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/sample.rs:86:10
[INFO] [stderr]    |
[INFO] [stderr] 86 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |          ^------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `FromPrimitive` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Format`
[INFO] [stderr] 87 | #[allow(non_camel_case_types)]
[INFO] [stderr] 88 | pub enum Format {
[INFO] [stderr]    |          ------ `Format` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/sample.rs:86:25
[INFO] [stderr]    |
[INFO] [stderr] 86 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]    |                         ^----------
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         `ToPrimitive` is not local
[INFO] [stderr]    |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Format`
[INFO] [stderr] 87 | #[allow(non_camel_case_types)]
[INFO] [stderr] 88 | pub enum Format {
[INFO] [stderr]    |          ------ `Format` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/sample.rs:437:43
[INFO] [stderr]     |
[INFO] [stderr] 437 |         let c_format = CString::new(format.clone()).unwrap();
[INFO] [stderr]     |                                           ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/stream.rs:281:10
[INFO] [stderr]     |
[INFO] [stderr] 281 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]     |          ^------------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `FromPrimitive` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_State`
[INFO] [stderr] 282 | pub enum State {
[INFO] [stderr]     |          ----- `State` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/stream.rs:281:25
[INFO] [stderr]     |
[INFO] [stderr] 281 | #[derive(FromPrimitive, ToPrimitive)]
[INFO] [stderr]     |                         ^----------
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         `ToPrimitive` is not local
[INFO] [stderr]     |                         move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_State`
[INFO] [stderr] 282 | pub enum State {
[INFO] [stderr]     |          ----- `State` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/stream.rs:724:39
[INFO] [stderr]     |
[INFO] [stderr] 724 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/stream.rs:750:39
[INFO] [stderr]     |
[INFO] [stderr] 750 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/stream.rs:781:39
[INFO] [stderr]     |
[INFO] [stderr] 781 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/stream.rs:921:42
[INFO] [stderr]     |
[INFO] [stderr] 921 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stderr]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/stream.rs:952:42
[INFO] [stderr]     |
[INFO] [stderr] 952 |             Some(dev) => CString::new(dev.clone()).unwrap(),
[INFO] [stderr]     |                                          ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]     --> src/stream.rs:1541:39
[INFO] [stderr]      |
[INFO] [stderr] 1541 |         let c_name = CString::new(name.clone()).unwrap();
[INFO] [stderr]      |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]      |
[INFO] [stderr]      = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]   --> src/utf8.rs:26:31
[INFO] [stderr]    |
[INFO] [stderr] 26 |     let c_str = CString::new(s.clone()).unwrap();
[INFO] [stderr]    |                               ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]    |
[INFO] [stderr]    = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `compile_fail`
[INFO] [stderr]    --> src/proplist.rs:513:11
[INFO] [stderr]     |
[INFO] [stderr] 513 |     #[cfg(compile_fail)]
[INFO] [stderr]     |           ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: expected names are: `clippy`, `debug_assertions`, `doc`, `docsrs`, `doctest`, `feature`, `fmt_debug`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `rustfmt`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `ub_checks`, `unix`, and `windows`
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(compile_fail)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(compile_fail)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `libpulse-binding` (lib) generated 95 warnings (run `cargo fix --lib -p libpulse-binding` to apply 75 suggestions)
[INFO] [stderr] warning: `libpulse-binding` (lib test) generated 96 warnings (95 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/libpulse_binding-60fad44ad9f4471f)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test channelmap::pos_compare_capi ... ok
[INFO] [stdout] test def::source_state_compare_capi ... ok
[INFO] [stdout] test def::sink_state_compare_capi ... ok
[INFO] [stdout] test def::bufferattr_compare_capi ... ok
[INFO] [stdout] test channelmap::map_compare_capi ... ok
[INFO] [stdout] test error::check_code_paerr_conversions ... ok
[INFO] [stdout] test def::timinginfo_compare_capi ... ok
[INFO] [stdout] test error::code_compare_capi ... ok
[INFO] [stdout] test context::state_compare_capi ... ok
[INFO] [stdout] test format::enc_compare_capi ... ok
[INFO] [stdout] test def::spawnapi_compare_capi ... ok
[INFO] [stdout] test mainloop::api::api_compare_capi ... ok
[INFO] [stdout] test proplist::tests::proplist_iter_lifetime_conv ... ok
[INFO] [stdout] test format::info_compare_capi ... ok
[INFO] [stdout] test sample::format_compare_capi ... ok
[INFO] [stdout] test sample::spec_compare_capi ... ok
[INFO] [stdout] test stream::state_compare_capi ... ok
[INFO] [stdout] test version::test_ver_str_to_num ... ok
[INFO] [stdout] test volume::set_compare_capi ... ok
[INFO] [stdout] test time::convert::tests ... ok
[INFO] [stdout] test version::test_lib_ver_not_too_old ... ok
[INFO] [stdout] test version::test_getting_pa_version ... ok
[INFO] [stdout] test version::test_comparing_pa_version ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/time_micros.rs (/opt/rustwide/target/debug/deps/time_micros-738d4ac1cfe965f0)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test duration_math ... ok
[INFO] [stdout] test math ... ok
[INFO] [stdout] test primitives ... ok
[INFO] [stdout] test duration_add_overflow_to_duration - should panic ... ok
[INFO] [stdout] test duration_add_overflow_to_micros - should panic ... ok
[INFO] [stdout] test duration_sub_overflow_to_duration - should panic ... ok
[INFO] [stdout] test add_overflow - should panic ... ok
[INFO] [stdout] test duration_sub_overflow_to_micros - should panic ... ok
[INFO] [stdout] test sub_overflow - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests libpulse_binding
[INFO] [stdout] 
[INFO] [stdout] running 63 tests
[INFO] [stdout] test src/context/mod.rs - context::Context::get_tile_size (line 600) ... ignored
[INFO] [stdout] test src/context/mod.rs - context::Context::rttime_new (line 552) ... ignored
[INFO] [stdout] test src/context/scache.rs - context::scache (line 34) ... ignored
[INFO] [stdout] test src/context/subscribe.rs - context::subscribe (line 38) ... ignored
[INFO] [stdout] test src/mainloop/api.rs - mainloop::api::Mainloop::new_timer_event (line 193) ... ignored
[INFO] [stdout] test src/mainloop/api.rs - mainloop::api::Mainloop::new_timer_event_rt (line 237) ... ignored
[INFO] [stdout] test src/mainloop/threaded.rs - mainloop::threaded (line 149) - compile ... ok
[INFO] [stdout] test src/mainloop/threaded.rs - mainloop::threaded (line 59) - compile ... ok
[INFO] [stdout] test src/mainloop/threaded.rs - mainloop::threaded (line 97) - compile ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::as_secs (line 188) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::as_secs_f64 (line 294) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::as_millis (line 202) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::as_secs_f32 (line 308) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::SECOND (line 42) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::MIN (line 72) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::checked_add (line 323) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::MAX (line 84) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::ZERO (line 62) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::INVALID (line 32) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::MILLISECOND (line 52) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::checked_div (line 421) ... ok
[INFO] [stdout] test src/mainloop/standard.rs - mainloop::standard (line 56) ... FAILED
[INFO] [stdout] test src/proplist.rs - proplist::Proplist::iter (line 398) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::checked_mul (line 403) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::checked_rem (line 439) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::checked_add_duration (line 342) ... ok
[INFO] [stdout] test src/mainloop/threaded.rs - mainloop::threaded (line 231) ... FAILED
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::checked_sub (line 363) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::div_f32 (line 595) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::checked_sub_duration (line 382) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::div_f32 (line 605) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::diff (line 169) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::div_f32 (line 610) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::from_secs (line 140) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::div_f64 (line 555) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::div_f64 (line 565) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::div_f32 (line 615) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::from_secs_f32 (line 257) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::div_f64 (line 575) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::from_secs_f32 (line 275) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::from_secs_f32 (line 265) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::inner (line 94) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::div_f64 (line 570) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::from_millis (line 155) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::from_secs_f64 (line 241) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::is_zero (line 124) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::from_secs_f64 (line 226) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::is_valid (line 107) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::from_secs_f32 (line 270) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::mul_f32 (line 534) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::from_secs_f64 (line 236) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::from_secs_f32 (line 280) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::mul_f32 (line 524) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::mul_f32 (line 519) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::mul_f32 (line 508) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::mul_f32 (line 529) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::mul_f64 (line 482) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::from_secs_f64 (line 231) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::mul_f64 (line 462) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::mul_f64 (line 472) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::from_secs_f64 (line 218) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::mul_f64 (line 477) ... ok
[INFO] [stdout] test src/time/microseconds.rs - time::microseconds::MicroSeconds::mul_f64 (line 487) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/mainloop/standard.rs - mainloop::standard (line 56) stdout ----
[INFO] [stdout] Test executable failed (exit status: 101).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] thread 'main' panicked at src/mainloop/standard.rs:38:10:
[INFO] [stdout] Failed to connect context: PAErr(-1)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x64cb52bf8dca - std::backtrace_rs::backtrace::libunwind::trace::h5a5b8284f2d0c266
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x64cb52bf8dca - std::backtrace_rs::backtrace::trace_unsynchronized::h76d4f1c9b0b875e3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x64cb52bf8dca - std::sys::backtrace::_print_fmt::hc4546b8364a537c6
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x64cb52bf8dca - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h5b6bd5631a6d1f6b
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x64cb52c14143 - core::fmt::rt::Argument::fmt::h270f6602a2b96f62
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x64cb52c14143 - core::fmt::write::h7550c97b06c86515
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/mod.rs:1186:21
[INFO] [stdout]    6:     0x64cb52bf6b23 - std::io::Write::write_fmt::h7b09c64fe0be9c84
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/io/mod.rs:1839:15
[INFO] [stdout]    7:     0x64cb52bf8c12 - std::sys::backtrace::BacktraceLock::print::h2395ccd2c84ba3aa
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x64cb52bf9bbc - std::panicking::default_hook::{{closure}}::he19d4c7230e07961
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x64cb52bf9a02 - std::panicking::default_hook::hf614597d3c67bbdb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:295:9
[INFO] [stdout]   10:     0x64cb52bfa197 - std::panicking::rust_panic_with_hook::h8942133a8b252070
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:801:13
[INFO] [stdout]   11:     0x64cb52bfa02a - std::panicking::begin_panic_handler::{{closure}}::hb5f5963570096b29
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:674:13
[INFO] [stdout]   12:     0x64cb52bf92a9 - std::sys::backtrace::__rust_end_short_backtrace::h6208cedc1922feda
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   13:     0x64cb52bf9cbc - rust_begin_unwind
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:665:5
[INFO] [stdout]   14:     0x64cb52bcf140 - core::panicking::panic_fmt::h0c3082644d1bf418
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:74:14
[INFO] [stdout]   15:     0x64cb52bcf4b6 - core::result::unwrap_failed::hd20b4aa073bda1e2
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/result.rs:1700:5
[INFO] [stdout]   16:     0x64cb52bd0ee4 - core::result::Result<T,E>::expect::h1b65884c54118004
[INFO] [stdout]   17:     0x64cb52bd2183 - rust_out::main::h86d391cc11b8a827
[INFO] [stdout]   18:     0x64cb52bcff83 - core::ops::function::FnOnce::call_once::hd1e0b33d350e8c2e
[INFO] [stdout]   19:     0x64cb52bcfd46 - std::sys::backtrace::__rust_begin_short_backtrace::hb7c4fd168269da08
[INFO] [stdout]   20:     0x64cb52bcfd29 - std::rt::lang_start::{{closure}}::h7630186e3858a44d
[INFO] [stdout]   21:     0x64cb52bf4bfe - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hfdb85f4ee94732d3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:284:13
[INFO] [stdout]   22:     0x64cb52bf4bfe - std::panicking::try::do_call::h6e577310f330cbef
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   23:     0x64cb52bf4bfe - std::panicking::try::ha588d438267d2645
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   24:     0x64cb52bf4bfe - std::panic::catch_unwind::h429fda1e025f26d9
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   25:     0x64cb52bf4bfe - std::rt::lang_start_internal::{{closure}}::h7b731265e841c4bf
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/rt.rs:174:48
[INFO] [stdout]   26:     0x64cb52bf4bfe - std::panicking::try::do_call::hc0f6a675b7ae5a36
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   27:     0x64cb52bf4bfe - std::panicking::try::h4c93b7ff0671f1ff
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   28:     0x64cb52bf4bfe - std::panic::catch_unwind::hcc1e154961d16ce6
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   29:     0x64cb52bf4bfe - std::rt::lang_start_internal::h1c66660c99c8424c
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/rt.rs:174:20
[INFO] [stdout]   30:     0x64cb52bcfd07 - std::rt::lang_start::hcdb31f4834f76b8c
[INFO] [stdout]   31:     0x64cb52bd3675 - main
[INFO] [stdout]   32:     0x733c2ef33d90 - <unknown>
[INFO] [stdout]   33:     0x733c2ef33e40 - __libc_start_main
[INFO] [stdout]   34:     0x64cb52bcf835 - _start
[INFO] [stdout]   35:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ---- src/mainloop/threaded.rs - mainloop::threaded (line 231) stdout ----
[INFO] [stdout] Test executable failed (exit status: 101).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] thread 'main' panicked at src/mainloop/threaded.rs:53:10:
[INFO] [stdout] Failed to connect context: PAErr(-1)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x57fc74cec34a - std::backtrace_rs::backtrace::libunwind::trace::h5a5b8284f2d0c266
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x57fc74cec34a - std::backtrace_rs::backtrace::trace_unsynchronized::h76d4f1c9b0b875e3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x57fc74cec34a - std::sys::backtrace::_print_fmt::hc4546b8364a537c6
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x57fc74cec34a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h5b6bd5631a6d1f6b
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x57fc74d076c3 - core::fmt::rt::Argument::fmt::h270f6602a2b96f62
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x57fc74d076c3 - core::fmt::write::h7550c97b06c86515
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/fmt/mod.rs:1186:21
[INFO] [stdout]    6:     0x57fc74cea0a3 - std::io::Write::write_fmt::h7b09c64fe0be9c84
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/io/mod.rs:1839:15
[INFO] [stdout]    7:     0x57fc74cec192 - std::sys::backtrace::BacktraceLock::print::h2395ccd2c84ba3aa
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x57fc74ced13c - std::panicking::default_hook::{{closure}}::he19d4c7230e07961
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x57fc74cecf82 - std::panicking::default_hook::hf614597d3c67bbdb
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:295:9
[INFO] [stdout]   10:     0x57fc74ced717 - std::panicking::rust_panic_with_hook::h8942133a8b252070
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:801:13
[INFO] [stdout]   11:     0x57fc74ced5aa - std::panicking::begin_panic_handler::{{closure}}::hb5f5963570096b29
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:674:13
[INFO] [stdout]   12:     0x57fc74cec829 - std::sys::backtrace::__rust_end_short_backtrace::h6208cedc1922feda
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   13:     0x57fc74ced23c - rust_begin_unwind
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:665:5
[INFO] [stdout]   14:     0x57fc74cc1140 - core::panicking::panic_fmt::h0c3082644d1bf418
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/panicking.rs:74:14
[INFO] [stdout]   15:     0x57fc74cc14b6 - core::result::unwrap_failed::hd20b4aa073bda1e2
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/result.rs:1700:5
[INFO] [stdout]   16:     0x57fc74cc30c4 - core::result::Result<T,E>::expect::h1b65884c54118004
[INFO] [stdout]   17:     0x57fc74cc45a0 - rust_out::main::h86d391cc11b8a827
[INFO] [stdout]   18:     0x57fc74cc2103 - core::ops::function::FnOnce::call_once::hd1e0b33d350e8c2e
[INFO] [stdout]   19:     0x57fc74cc1e16 - std::sys::backtrace::__rust_begin_short_backtrace::hb7c4fd168269da08
[INFO] [stdout]   20:     0x57fc74cc1df9 - std::rt::lang_start::{{closure}}::h7630186e3858a44d
[INFO] [stdout]   21:     0x57fc74ce817e - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hfdb85f4ee94732d3
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/core/src/ops/function.rs:284:13
[INFO] [stdout]   22:     0x57fc74ce817e - std::panicking::try::do_call::h6e577310f330cbef
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   23:     0x57fc74ce817e - std::panicking::try::ha588d438267d2645
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   24:     0x57fc74ce817e - std::panic::catch_unwind::h429fda1e025f26d9
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   25:     0x57fc74ce817e - std::rt::lang_start_internal::{{closure}}::h7b731265e841c4bf
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/rt.rs:174:48
[INFO] [stdout]   26:     0x57fc74ce817e - std::panicking::try::do_call::hc0f6a675b7ae5a36
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:557:40
[INFO] [stdout]   27:     0x57fc74ce817e - std::panicking::try::h4c93b7ff0671f1ff
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panicking.rs:520:19
[INFO] [stdout]   28:     0x57fc74ce817e - std::panic::catch_unwind::hcc1e154961d16ce6
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/panic.rs:358:14
[INFO] [stdout]   29:     0x57fc74ce817e - std::rt::lang_start_internal::h1c66660c99c8424c
[INFO] [stdout]                                at /rustc/90b35a6239c3d8bdabc530a6a0816f7ff89a0aaf/library/std/src/rt.rs:174:20
[INFO] [stdout]   30:     0x57fc74cc1dd7 - std::rt::lang_start::hcdb31f4834f76b8c
[INFO] [stdout]   31:     0x57fc74cc6335 - main
[INFO] [stdout]   32:     0x701529d3dd90 - <unknown>
[INFO] [stdout]   33:     0x701529d3de40 - __libc_start_main
[INFO] [stdout]   34:     0x57fc74cc1835 - _start
[INFO] [stdout]   35:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/mainloop/standard.rs - mainloop::standard (line 56)
[INFO] [stdout]     src/mainloop/threaded.rs - mainloop::threaded (line 231)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 55 passed; 2 failed; 6 ignored; 0 measured; 0 filtered out; finished in 6.59s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "6e2eb618d267fdaef1d28c72147a4af3ace935af2a48cb52f5fd51fdb05f5de0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6e2eb618d267fdaef1d28c72147a4af3ace935af2a48cb52f5fd51fdb05f5de0", kill_on_drop: false }`
[INFO] [stdout] 6e2eb618d267fdaef1d28c72147a4af3ace935af2a48cb52f5fd51fdb05f5de0
