[INFO] fetching crate nvapi-sys 0.1.3...
[INFO] checking nvapi-sys-0.1.3 against master#035b01b794602d5861daa43ac792f372f8981ed7 for 152214-denied
[INFO] extracting crate nvapi-sys 0.1.3 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate nvapi-sys 0.1.3
[INFO] finished tweaking crates.io crate nvapi-sys 0.1.3
[INFO] tweaked toml for crates.io crate nvapi-sys 0.1.3 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate nvapi-sys 0.1.3 on toolchain 035b01b794602d5861daa43ac792f372f8981ed7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+035b01b794602d5861daa43ac792f372f8981ed7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+035b01b794602d5861daa43ac792f372f8981ed7" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 11 packages to latest compatible versions
[INFO] [stderr]       Adding bitflags v1.3.2 (available: v2.10.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+035b01b794602d5861daa43ac792f372f8981ed7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+035b01b794602d5861daa43ac792f372f8981ed7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8ad1b641184eb9d5bdc6a42fd00143ffd3da1184c9b67677c4a2f2764640c202
[INFO] running `Command { std: "docker" "start" "-a" "8ad1b641184eb9d5bdc6a42fd00143ffd3da1184c9b67677c4a2f2764640c202", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8ad1b641184eb9d5bdc6a42fd00143ffd3da1184c9b67677c4a2f2764640c202", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ad1b641184eb9d5bdc6a42fd00143ffd3da1184c9b67677c4a2f2764640c202", kill_on_drop: false }`
[INFO] [stdout] 8ad1b641184eb9d5bdc6a42fd00143ffd3da1184c9b67677c4a2f2764640c202
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+035b01b794602d5861daa43ac792f372f8981ed7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 64fdc89e0938760fc68845bb44bface2973701335cfd2c602872b516ea541ea4
[INFO] running `Command { std: "docker" "start" "-a" "64fdc89e0938760fc68845bb44bface2973701335cfd2c602872b516ea541ea4", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking nvapi-sys v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/nvapi.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn nvapi_QueryInterface(id: u32) -> ::Result<usize> {
[INFO] [stdout]    |                             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]   --> src/nvapi.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn nvapi_QueryInterface(id: u32) -> ::Result<usize> {
[INFO] [stdout]    |                             ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/macros.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/handles.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | / nv_declare_handle! {
[INFO] [stdout] 4 | |     /// One or more physical GPUs acting in concert (SLI)
[INFO] [stdout] 5 | |     NvLogicalGpuHandle
[INFO] [stdout]   | |     ------------------ field in this struct
[INFO] [stdout] 6 | | }
[INFO] [stdout]   | |_- in this macro invocation
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `NvLogicalGpuHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]   = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | / nv_declare_handle! {
[INFO] [stdout]  9 | |     /// A single physical GPU
[INFO] [stdout] 10 | |     NvPhysicalGpuHandle
[INFO] [stdout]    | |     ------------------- field in this struct
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvPhysicalGpuHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | / nv_declare_handle! {
[INFO] [stdout] 14 | |     /// Display Device driven by NVIDIA GPU(s) (an attached display)
[INFO] [stdout] 15 | |     NvDisplayHandle
[INFO] [stdout]    | |     --------------- field in this struct
[INFO] [stdout] 16 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvDisplayHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | / nv_declare_handle! {
[INFO] [stdout] 19 | |     /// Monitor handle
[INFO] [stdout] 20 | |     NvMonitorHandle
[INFO] [stdout]    | |     --------------- field in this struct
[INFO] [stdout] 21 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvMonitorHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | / nv_declare_handle! {
[INFO] [stdout] 24 | |     /// Unattached Display Device driven by NVIDIA GPU(s)
[INFO] [stdout] 25 | |     NvUnAttachedDisplayHandle
[INFO] [stdout]    | |     ------------------------- field in this struct
[INFO] [stdout] 26 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvUnAttachedDisplayHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | / nv_declare_handle! {
[INFO] [stdout] 29 | |     /// A handle to an event registration instance
[INFO] [stdout] 30 | |     NvEventHandle
[INFO] [stdout]    | |     ------------- field in this struct
[INFO] [stdout] 31 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvEventHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | / nv_declare_handle! {
[INFO] [stdout] 34 | |     /// A handle to a Visual Computing Device
[INFO] [stdout] 35 | |     NvVisualComputingDeviceHandle
[INFO] [stdout]    | |     ----------------------------- field in this struct
[INFO] [stdout] 36 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvVisualComputingDeviceHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | / nv_declare_handle! {
[INFO] [stdout] 39 | |     /// A handle to a Host Interface Card
[INFO] [stdout] 40 | |     NvHICHandle
[INFO] [stdout]    | |     ----------- field in this struct
[INFO] [stdout] 41 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvHICHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | / nv_declare_handle! {
[INFO] [stdout] 44 | |     /// A handle to a Sync device
[INFO] [stdout] 45 | |     NvGSyncDeviceHandle
[INFO] [stdout]    | |     ------------------- field in this struct
[INFO] [stdout] 46 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvGSyncDeviceHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | / nv_declare_handle! {
[INFO] [stdout] 49 | |     /// A handle to an SDI device
[INFO] [stdout] 50 | |     NvVioHandle
[INFO] [stdout]    | |     ----------- field in this struct
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvVioHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | / nv_declare_handle! {
[INFO] [stdout] 54 | |     /// A handle to address a single transition request
[INFO] [stdout] 55 | |     NvTransitionHandle
[INFO] [stdout]    | |     ------------------ field in this struct
[INFO] [stdout] 56 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvTransitionHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | / nv_declare_handle! {
[INFO] [stdout] 59 | |     /// NVIDIA HD Audio Device
[INFO] [stdout] 60 | |     NvAudioHandle
[INFO] [stdout]    | |     ------------- field in this struct
[INFO] [stdout] 61 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvAudioHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | / nv_declare_handle! {
[INFO] [stdout] 64 | |     /// A handle for a 3D Vision Pro (3DVP) context
[INFO] [stdout] 65 | |     Nv3DVPContextHandle
[INFO] [stdout]    | |     ------------------- field in this struct
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Nv3DVPContextHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | / nv_declare_handle! {
[INFO] [stdout] 69 | |     /// A handle for a 3DVP RF transceiver
[INFO] [stdout] 70 | |     Nv3DVPTransceiverHandle
[INFO] [stdout]    | |     ----------------------- field in this struct
[INFO] [stdout] 71 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Nv3DVPTransceiverHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:73:1
[INFO] [stdout]    |
[INFO] [stdout] 73 | / nv_declare_handle! {
[INFO] [stdout] 74 | |     /// A handle for a pair of 3DVP RF shutter glasses
[INFO] [stdout] 75 | |     Nv3DVPGlassesHandle
[INFO] [stdout]    | |     ------------------- field in this struct
[INFO] [stdout] 76 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Nv3DVPGlassesHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | / nv_declare_handle! {
[INFO] [stdout] 82 | |     /// Unique source handle on the system
[INFO] [stdout] 83 | |     NvSourceHandle
[INFO] [stdout]    | |     -------------- field in this struct
[INFO] [stdout] 84 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvSourceHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:86:1
[INFO] [stdout]    |
[INFO] [stdout] 86 | / nv_declare_handle! {
[INFO] [stdout] 87 | |     /// Unique target handle on the system
[INFO] [stdout] 88 | |     NvTargetHandle
[INFO] [stdout]    | |     -------------- field in this struct
[INFO] [stdout] 89 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvTargetHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | / nv_declare_handle! {
[INFO] [stdout] 92 | |     /// DirectX SwapChain objects
[INFO] [stdout] 93 | |     NVDX_SwapChainHandle
[INFO] [stdout]    | |     -------------------- field in this struct
[INFO] [stdout] 94 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NVDX_SwapChainHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/status.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / nvenum! {
[INFO] [stdout]   4 | |     /// NvAPI Status Values
[INFO] [stdout]   5 | |     ///
[INFO] [stdout]   6 | |     /// All NvAPI functions return one of these codes.
[INFO] [stdout] ...   |
[INFO] [stdout] 279 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/driverapi.rs:57:1
[INFO] [stdout]     |
[INFO] [stdout]  57 | / nvapi! {
[INFO] [stdout]  58 | |     pub type GPU_GetMemoryInfoFn = extern "C" fn(hPhysicalGpu: handles::NvPhysicalGpuHandle, pMemoryInfo: *mut NV_DISPLAY_DRIVER_...
[INFO] [stdout]  59 | |
[INFO] [stdout]  60 | |     /// This function retrieves the available driver memory footprint for the specified GPU.
[INFO] [stdout]  61 | |     /// If the GPU is in TCC Mode, only dedicatedVideoMemory will be returned in pMemoryInfo (NV_DISPLAY_DRIVER_MEMORY_INFO).
[INFO] [stdout]  62 | |     pub unsafe fn NvAPI_GPU_GetMemoryInfo;
[INFO] [stdout]  63 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:59:1
[INFO] [stdout]     |
[INFO] [stdout]  59 | / nvapi! {
[INFO] [stdout]  60 | |     pub type GPU_GetFullNameFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, szName: *mut types::NvAPI_ShortString) -> NvAPI...
[INFO] [stdout]  61 | |
[INFO] [stdout]  62 | |     /// This function retrieves the full GPU name as an ASCII string - for example, "Quadro FX 1400".
[INFO] [stdout]  63 | |     pub unsafe fn NvAPI_GPU_GetFullName;
[INFO] [stdout]  64 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:66:1
[INFO] [stdout]     |
[INFO] [stdout]  66 | / nvapi! {
[INFO] [stdout]  67 | |     pub type GPU_GetPhysicalFrameBufferSizeFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pSize: *mut u32) -> NvAPI_Status;
[INFO] [stdout]  68 | |
[INFO] [stdout]  69 | |     /// This function returns the physical size of framebuffer in KB.  This does NOT include any
[INFO] [stdout]  70 | |     /// system RAM that may be dedicated for use by the GPU.
[INFO] [stdout]  71 | |     pub unsafe fn NvAPI_GPU_GetPhysicalFrameBufferSize;
[INFO] [stdout]  72 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / nvapi! {
[INFO] [stdout]  75 | |     pub type GPU_GetVbiosVersionStringFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, szBiosRevision: *mut types::NvAPI_Sho...
[INFO] [stdout]  76 | |
[INFO] [stdout]  77 | |     /// This function returns the full video BIOS version string in the form of xx.xx.xx.xx.yy where
[INFO] [stdout] ...   |
[INFO] [stdout]  80 | |     pub unsafe fn NvAPI_GPU_GetVbiosVersionString;
[INFO] [stdout]  81 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:83:1
[INFO] [stdout]     |
[INFO] [stdout]  83 | / nvapi! {
[INFO] [stdout]  84 | |     pub type GPU_GetPCIIdentifiersFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pDeviceId: *mut u32, pSubSystemId: *mut u...
[INFO] [stdout]  85 | |
[INFO] [stdout]  86 | |     /// This function returns the PCI identifiers associated with this GPU.
[INFO] [stdout]  87 | |     pub unsafe fn NvAPI_GPU_GetPCIIdentifiers;
[INFO] [stdout]  88 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:90:1
[INFO] [stdout]     |
[INFO] [stdout]  90 | / nvenum! {
[INFO] [stdout]  91 | |     /// Used in NvAPI_GPU_GetSystemType()
[INFO] [stdout]  92 | |     pub enum NV_SYSTEM_TYPE / SystemType {
[INFO] [stdout]  93 | |         NV_SYSTEM_TYPE_UNKNOWN / Unknown = 0,
[INFO] [stdout] ...   |
[INFO] [stdout]  97 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:103:1
[INFO] [stdout]     |
[INFO] [stdout] 103 | / nvapi! {
[INFO] [stdout] 104 | |     pub type GPU_GetSystemTypeFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pSystemType: *mut NV_SYSTEM_TYPE) -> NvAPI_St...
[INFO] [stdout] 105 | |
[INFO] [stdout] 106 | |     /// This function identifies whether the GPU is a notebook GPU or a desktop GPU.
[INFO] [stdout] 107 | |     pub unsafe fn NvAPI_GPU_GetSystemType;
[INFO] [stdout] 108 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | / nvapi! {
[INFO] [stdout] 111 | |     pub type GPU_GetShaderSubPipeCountFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pCount: *mut u32) -> NvAPI_Status;
[INFO] [stdout] 112 | |
[INFO] [stdout] 113 | |     /// This function retrieves the number of Shader SubPipes on the GPU
[INFO] [stdout] 114 | |     /// On newer architectures, this corresponds to the number of SM units
[INFO] [stdout] 115 | |     pub unsafe fn NvAPI_GPU_GetShaderSubPipeCount;
[INFO] [stdout] 116 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:118:1
[INFO] [stdout]     |
[INFO] [stdout] 118 | / nvapi! {
[INFO] [stdout] 119 | |     pub type GPU_GetGpuCoreCountFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pCount: *mut u32) -> NvAPI_Status;
[INFO] [stdout] 120 | |
[INFO] [stdout] 121 | |     /// Retrieves the total number of cores defined for a GPU.
[INFO] [stdout] 122 | |     /// Returns 0 on architectures that don't define GPU cores.
[INFO] [stdout] 123 | |     pub unsafe fn NvAPI_GPU_GetGpuCoreCount;
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | / nvapi! {
[INFO] [stdout]   5 | |     pub type GPU_GetTachReadingFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pValue: *mut u32) -> NvAPI_Status;
[INFO] [stdout]   6 | |
[INFO] [stdout]   7 | |     /// This API retrieves the fan speed tachometer reading for the specified physical GPU.
[INFO] [stdout]   8 | |     pub unsafe fn NvAPI_GPU_GetTachReading;
[INFO] [stdout]   9 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:21:5
[INFO] [stdout]     |
[INFO] [stdout]  21 | /     nvenum! {
[INFO] [stdout]  22 | |         pub enum NV_COOLER_TYPE / CoolerType {
[INFO] [stdout]  23 | |             NVAPI_COOLER_TYPE_NONE / None = 0,
[INFO] [stdout]  24 | |             NVAPI_COOLER_TYPE_FAN / Fan = 1,
[INFO] [stdout] ...   |
[INFO] [stdout]  28 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:34:5
[INFO] [stdout]     |
[INFO] [stdout]  34 | /     nvenum! {
[INFO] [stdout]  35 | |         pub enum NV_COOLER_CONTROLLER / CoolerController {
[INFO] [stdout]  36 | |             NVAPI_COOLER_CONTROLLER_NONE / None = 0,
[INFO] [stdout]  37 | |             NVAPI_COOLER_CONTROLLER_ADI / ADI = 1,
[INFO] [stdout] ...   |
[INFO] [stdout]  40 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:46:5
[INFO] [stdout]     |
[INFO] [stdout]  46 | /     nvenum! {
[INFO] [stdout]  47 | |         pub enum NV_COOLER_POLICY / CoolerPolicy {
[INFO] [stdout]  48 | |             NVAPI_COOLER_POLICY_NONE / None = 0,
[INFO] [stdout]  49 | |             /// Manual adjustment of cooler level. Gets applied right away independent of temperature or performance level.
[INFO] [stdout] ...   |
[INFO] [stdout]  64 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:75:5
[INFO] [stdout]     |
[INFO] [stdout]  75 | /     nvenum! {
[INFO] [stdout]  76 | |         pub enum NV_COOLER_TARGET / CoolerTarget {
[INFO] [stdout]  77 | |             NVAPI_COOLER_TARGET_NONE / None = 0,
[INFO] [stdout]  78 | |             NVAPI_COOLER_TARGET_GPU / GPU = 1,
[INFO] [stdout] ...   |
[INFO] [stdout]  84 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:94:5
[INFO] [stdout]     |
[INFO] [stdout]  94 | /     nvenum! {
[INFO] [stdout]  95 | |         pub enum NV_COOLER_CONTROL / CoolerControl {
[INFO] [stdout]  96 | |             NVAPI_COOLER_CONTROL_NONE / None = 0,
[INFO] [stdout]  97 | |             /// ON/OFF
[INFO] [stdout] ...   |
[INFO] [stdout] 102 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | /     nvenum! {
[INFO] [stdout] 109 | |         pub enum NV_COOLER_ACTIVITY_LEVEL / CoolerActivityLevel {
[INFO] [stdout] 110 | |             NVAPI_INACTIVE / Inactive = 0,
[INFO] [stdout] 111 | |             NVAPI_ACTIVE / Active = 1,
[INFO] [stdout] 112 | |         }
[INFO] [stdout] 113 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | /     nvapi! {
[INFO] [stdout] 169 | |         pub type GPU_GetCoolerSettingsFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, coolerIndex: u32, pCoolerInfo: *mut N...
[INFO] [stdout] 170 | |
[INFO] [stdout] 171 | |         /// Undocumented function.
[INFO] [stdout] ...   |
[INFO] [stdout] 177 | |         pub unsafe fn NvAPI_GPU_GetCoolerSettings;
[INFO] [stdout] 178 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 | /     nvapi! {
[INFO] [stdout] 204 | |         pub type GPU_SetCoolerLevelsFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, coolerIndex: u32, pCoolerLevels: *const...
[INFO] [stdout] 205 | |
[INFO] [stdout] 206 | |         /// Undocumented function.
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |         pub unsafe fn NvAPI_GPU_SetCoolerLevels;
[INFO] [stdout] 219 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 | /     nvapi! {
[INFO] [stdout] 222 | |         pub type GPU_RestoreCoolerSettingsFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, coolerIndex: *const u32, coolerCo...
[INFO] [stdout] 223 | |
[INFO] [stdout] 224 | |         /// Undocumented function.
[INFO] [stdout] ...   |
[INFO] [stdout] 230 | |         pub unsafe fn NvAPI_GPU_RestoreCoolerSettings;
[INFO] [stdout] 231 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | /     nvapi! {
[INFO] [stdout] 262 | |         pub type GPU_GetCoolerPolicyTableFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, coolerIndex: u32, pCoolerTable: *m...
[INFO] [stdout] 263 | |
[INFO] [stdout] 264 | |         /// Undocumented function.
[INFO] [stdout] 265 | |         /// Retrieves the table of cooler and policy levels for the selected policy. Supported only for NVAPI_COOLER_POLICY_PERF.
[INFO] [stdout] 266 | |         pub unsafe fn NvAPI_GPU_GetCoolerPolicyTable;
[INFO] [stdout] 267 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:269:5
[INFO] [stdout]     |
[INFO] [stdout] 269 | /     nvapi! {
[INFO] [stdout] 270 | |         pub type GPU_SetCoolerPolicyTableFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, coolerIndex: u32, pCoolerTable: *c...
[INFO] [stdout] 271 | |
[INFO] [stdout] 272 | |         /// Undocumented function.
[INFO] [stdout] ...   |
[INFO] [stdout] 278 | |         pub unsafe fn NvAPI_GPU_SetCoolerPolicyTable;
[INFO] [stdout] 279 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:281:5
[INFO] [stdout]     |
[INFO] [stdout] 281 | /     nvapi! {
[INFO] [stdout] 282 | |         pub type GPU_RestoreCoolerPolicyTableFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, coolerIndex: *const u32, coole...
[INFO] [stdout] 283 | |
[INFO] [stdout] 284 | |         /// Undocumented function.
[INFO] [stdout] ...   |
[INFO] [stdout] 290 | |         pub unsafe fn NvAPI_GPU_RestoreCoolerPolicyTable;
[INFO] [stdout] 291 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:38:1
[INFO] [stdout]     |
[INFO] [stdout]  38 | / nvenum! {
[INFO] [stdout]  39 | |     /// Domain index into NV_GPU_DYNAMIC_PSTATES_INFO_EX.utilization.
[INFO] [stdout]  40 | |     ///
[INFO] [stdout]  41 | |     /// Definition missing from the nvapi headers for some reason.
[INFO] [stdout] ...   |
[INFO] [stdout]  48 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:72:1
[INFO] [stdout]     |
[INFO] [stdout]  72 | / nvapi! {
[INFO] [stdout]  73 | |     pub type GPU_GetDynamicPstatesInfoExFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pDynamicPstatesInfoEx: *mut NV_GPU_...
[INFO] [stdout]  74 | |
[INFO] [stdout]  75 | |     /// This API retrieves the NV_GPU_DYNAMIC_PSTATES_INFO_EX structure for the specified physical GPU.
[INFO] [stdout] ...   |
[INFO] [stdout]  85 | |     pub unsafe fn NvAPI_GPU_GetDynamicPstatesInfoEx;
[INFO] [stdout]  86 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:88:1
[INFO] [stdout]     |
[INFO] [stdout]  88 | / nvenum! {
[INFO] [stdout]  89 | |     pub enum NV_GPU_PERF_PSTATE_ID / PstateId {
[INFO] [stdout]  90 | |         NVAPI_GPU_PERF_PSTATE_P0 / P0 = 0,
[INFO] [stdout]  91 | |         NVAPI_GPU_PERF_PSTATE_P1 / P1 = 1,
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:115:1
[INFO] [stdout]     |
[INFO] [stdout] 115 | / nvapi! {
[INFO] [stdout] 116 | |     pub type GPU_GetCurrentPstateFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pCurrentPstate: *mut NV_GPU_PERF_PSTATE_ID...
[INFO] [stdout] 117 | |
[INFO] [stdout] 118 | |     /// This function retrieves the current performance state (P-State).
[INFO] [stdout] 119 | |     pub unsafe fn NvAPI_GPU_GetCurrentPstate;
[INFO] [stdout] 120 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | / nvenum! {
[INFO] [stdout] 123 | |     pub enum NV_GPU_PERF_VOLTAGE_INFO_DOMAIN_ID / VoltageInfoDomain {
[INFO] [stdout] 124 | |         NVAPI_GPU_PERF_VOLTAGE_INFO_DOMAIN_CORE / Core = 0,
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | / nvenum! {
[INFO] [stdout] 135 | |     /// Used to identify clock type
[INFO] [stdout] 136 | |     pub enum NV_GPU_PERF_PSTATE20_CLOCK_TYPE_ID / PstateClockType {
[INFO] [stdout] 137 | |         /// Clock domains that use single frequency value within given pstate
[INFO] [stdout] ...   |
[INFO] [stdout] 142 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:299:1
[INFO] [stdout]     |
[INFO] [stdout] 299 | / nvapi! {
[INFO] [stdout] 300 | |     pub type GPU_GetPstates20Fn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pPstatesInfo: *mut NV_GPU_PERF_PSTATES20_INFO)...
[INFO] [stdout] 301 | |
[INFO] [stdout] 302 | |     /// This API retrieves all performance states (P-States) 2.0 information.
[INFO] [stdout] ...   |
[INFO] [stdout] 314 | |     pub unsafe fn NvAPI_GPU_GetPstates20;
[INFO] [stdout] 315 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 321 | /     nvapi! {
[INFO] [stdout] 322 | |         pub type GPU_SetPstates20Fn = extern "C" fn(hPhysicalGPU: super::NvPhysicalGpuHandle, pPstatesInfo: *const super::NV_GPU_...
[INFO] [stdout] 323 | |
[INFO] [stdout] 324 | |         /// Undocumented private API
[INFO] [stdout] 325 | |         pub unsafe fn NvAPI_GPU_SetPstates20;
[INFO] [stdout] 326 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/clock.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | / nvenum! {
[INFO] [stdout]  12 | |     /// An index into NV_GPU_CLOCK_FREQUENCIES.domain[]
[INFO] [stdout]  13 | |     pub enum NV_GPU_PUBLIC_CLOCK_ID / PublicClockId {
[INFO] [stdout]  14 | |         NVAPI_GPU_PUBLIC_CLOCK_GRAPHICS / Graphics = 0,
[INFO] [stdout] ...   |
[INFO] [stdout]  20 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/clock.rs:59:1
[INFO] [stdout]     |
[INFO] [stdout]  59 | / nvenum! {
[INFO] [stdout]  60 | |     /// Used in NvAPI_GPU_GetAllClockFrequencies()
[INFO] [stdout]  61 | |     pub enum NV_GPU_CLOCK_FREQUENCIES_CLOCK_TYPE / ClockFrequencyType {
[INFO] [stdout]  62 | |         NV_GPU_CLOCK_FREQUENCIES_CURRENT_FREQ / Current = 0,
[INFO] [stdout] ...   |
[INFO] [stdout]  67 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/clock.rs:82:1
[INFO] [stdout]     |
[INFO] [stdout]  82 | / nvapi! {
[INFO] [stdout]  83 | |     pub type GPU_GetAllClockFrequenciesFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pClkFreqs: *mut NV_GPU_CLOCK_FREQUEN...
[INFO] [stdout]  84 | |
[INFO] [stdout]  85 | |     /// This function retrieves the NV_GPU_CLOCK_FREQUENCIES structure for the specified physical GPU.
[INFO] [stdout] ...   |
[INFO] [stdout]  93 | |     pub unsafe fn NvAPI_GPU_GetAllClockFrequencies;
[INFO] [stdout]  94 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/clock.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | /     nvapi! {
[INFO] [stdout] 131 | |         pub type GPU_GetUsagesFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pUsagesInfo: *mut NV_USAGES_INFO) -> NvAPI_St...
[INFO] [stdout] 132 | |
[INFO] [stdout] 133 | |         /// Undocumented function. Probably deprecated and replaced with NvAPI_GPU_GetDynamicPstatesInfoEx()
[INFO] [stdout] 134 | |         pub unsafe fn NvAPI_GPU_GetUsages;
[INFO] [stdout] 135 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/clock.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 | /     nvapi! {
[INFO] [stdout] 152 | |         pub type GPU_GetAllClocksFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pClocksInfo: *mut NV_CLOCKS_INFO) -> NvAPI...
[INFO] [stdout] 153 | |
[INFO] [stdout] 154 | |         /// Undocumented function. Probably deprecated and replaced with NvAPI_GPU_GetAllClockFrequencies()
[INFO] [stdout] ...   |
[INFO] [stdout] 165 | |         pub unsafe fn NvAPI_GPU_GetAllClocks;
[INFO] [stdout] 166 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/clock.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 288 | /     nvenum! {
[INFO] [stdout] 289 | |         pub enum NV_GPU_CLOCK_LOCK_MODE / ClockLockMode {
[INFO] [stdout] 290 | |             NVAPI_GPU_CLOCK_LOCK_NONE / None = 0,
[INFO] [stdout] 291 | |             NVAPI_GPU_CLOCK_LOCK_MANUAL / Manual = 3,
[INFO] [stdout] 292 | |         }
[INFO] [stdout] 293 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/thermal.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | / nvenum! {
[INFO] [stdout]   5 | |     /// Used in NV_GPU_THERMAL_SETTINGS
[INFO] [stdout]   6 | |     pub enum NV_THERMAL_TARGET / ThermalTarget {
[INFO] [stdout]   7 | |         NVAPI_THERMAL_TARGET_NONE / None = 0,
[INFO] [stdout] ...   |
[INFO] [stdout]  25 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/thermal.rs:39:1
[INFO] [stdout]     |
[INFO] [stdout]  39 | / nvenum! {
[INFO] [stdout]  40 | |     /// NV_GPU_THERMAL_SETTINGS
[INFO] [stdout]  41 | |     pub enum NV_THERMAL_CONTROLLER / ThermalController {
[INFO] [stdout]  42 | |         NVAPI_THERMAL_CONTROLLER_NONE / None = 0,
[INFO] [stdout] ...   |
[INFO] [stdout]  56 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/thermal.rs:102:1
[INFO] [stdout]     |
[INFO] [stdout] 102 | / nvapi! {
[INFO] [stdout] 103 | |     pub type GPU_GetThermalSettingsFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, sensorIndex: u32, pThermalSettings: *mut...
[INFO] [stdout] 104 | |
[INFO] [stdout] 105 | |     /// This function retrieves the thermal information of all thermal sensors or specific thermal sensor associated with the sel...
[INFO] [stdout] ...   |
[INFO] [stdout] 110 | |     pub unsafe fn NvAPI_GPU_GetThermalSettings;
[INFO] [stdout] 111 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/display.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | / nvenum! {
[INFO] [stdout]   5 | |     pub enum NV_MONITOR_CONN_TYPE / MonitorConnectorType {
[INFO] [stdout]   6 | |         NV_MONITOR_CONN_TYPE_UNINITIALIZED / Uninitialized = 0,
[INFO] [stdout]   7 | |         NV_MONITOR_CONN_TYPE_VGA / Vga = 2,
[INFO] [stdout] ...   |
[INFO] [stdout]  17 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/display.rs:87:1
[INFO] [stdout]     |
[INFO] [stdout]  87 | / nvapi! {
[INFO] [stdout]  88 | |     pub type GPU_GetConnectedDisplayIds = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pDisplayIds: *mut NV_GPU_DISPLAYIDS, p...
[INFO] [stdout]  89 | |
[INFO] [stdout]  90 | |     /// Due to space limitation NvAPI_GPU_GetConnectedOutputs can return maximum 32 devices, but
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | |     pub unsafe fn NvAPI_GPU_GetConnectedDisplayIds;
[INFO] [stdout] 110 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/display.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | / nvapi! {
[INFO] [stdout] 113 | |     pub type GPU_GetAllDisplayIds = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pDisplayIds: *mut NV_GPU_DISPLAYIDS, pDispla...
[INFO] [stdout] 114 | |
[INFO] [stdout] 115 | |     /// This API returns display IDs for all possible outputs on the GPU.
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |     pub unsafe fn NvAPI_GPU_GetAllDisplayIds;
[INFO] [stdout] 122 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 | /     nvapi! {
[INFO] [stdout] 174 | |         pub type GPU_GetShaderPipeCountFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pCount: *mut u32) -> NvAPI_Status;
[INFO] [stdout] 175 | |
[INFO] [stdout] 176 | |         pub unsafe fn NvAPI_GPU_GetShaderPipeCount;
[INFO] [stdout] 177 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 | /     nvenum! {
[INFO] [stdout] 180 | |         /// Undocumented function NvAPI_GPU_GetRamType()
[INFO] [stdout] 181 | |         pub enum NV_GPU_RAM_TYPE / RamType {
[INFO] [stdout] 182 | |             NV_GPU_RAM_UNKNOWN / Unknown = 0,
[INFO] [stdout] ...   |
[INFO] [stdout] 194 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 | /     nvapi! {
[INFO] [stdout] 201 | |         pub type GPU_GetRamTypeFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pMemType: *mut NV_GPU_RAM_TYPE) -> NvAPI_Sta...
[INFO] [stdout] 202 | |
[INFO] [stdout] 203 | |         /// Undocumented function.
[INFO] [stdout] 204 | |         pub unsafe fn NvAPI_GPU_GetRamType;
[INFO] [stdout] 205 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 | /     nvenum! {
[INFO] [stdout] 209 | |         /// Undocumented function NvAPI_GPU_GetRamMaker()
[INFO] [stdout] 210 | |         pub enum NV_GPU_RAM_MAKER / RamMaker {
[INFO] [stdout] 211 | |             NV_GPU_RAM_MAKER_UNKNOWN / Unknown = 0,
[INFO] [stdout] ...   |
[INFO] [stdout] 223 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 | /     nvapi! {
[INFO] [stdout] 230 | |         pub type GPU_GetRamMakerFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pRamMaker: *mut NV_GPU_RAM_MAKER) -> NvAPI_...
[INFO] [stdout] 231 | |
[INFO] [stdout] 232 | |         /// Undocumented function.
[INFO] [stdout] 233 | |         pub unsafe fn NvAPI_GPU_GetRamMaker;
[INFO] [stdout] 234 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 | /     nvapi! {
[INFO] [stdout] 237 | |         pub type GPU_GetRamBusWidthFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pRamBusWidth: *mut u32) -> NvAPI_Status;
[INFO] [stdout] 238 | |
[INFO] [stdout] 239 | |         /// Undocumented function.
[INFO] [stdout] 240 | |         pub unsafe fn NvAPI_GPU_GetRamBusWidth;
[INFO] [stdout] 241 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:243:5
[INFO] [stdout]     |
[INFO] [stdout] 243 | /     nvapi! {
[INFO] [stdout] 244 | |         pub type GPU_GetRamBankCountFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pRamBankCount: *mut u32) -> NvAPI_Status;
[INFO] [stdout] 245 | |
[INFO] [stdout] 246 | |         /// Undocumented function.
[INFO] [stdout] 247 | |         pub unsafe fn NvAPI_GPU_GetRamBankCount;
[INFO] [stdout] 248 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 | /     nvenum! {
[INFO] [stdout] 251 | |         /// Undocumented function NvAPI_GPU_GetFoundry()
[INFO] [stdout] 252 | |         pub enum NV_GPU_FOUNDRY / Foundry {
[INFO] [stdout] 253 | |             NV_GPU_FOUNDRY_UNKNOWN / Unknown = 0,
[INFO] [stdout] ...   |
[INFO] [stdout] 261 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 | /     nvapi! {
[INFO] [stdout] 276 | |         pub type GPU_GetFoundryFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pFoundry: *mut NV_GPU_FOUNDRY) -> NvAPI_Status;
[INFO] [stdout] 277 | |
[INFO] [stdout] 278 | |         /// Undocumented function.
[INFO] [stdout] 279 | |         pub unsafe fn NvAPI_GPU_GetFoundry;
[INFO] [stdout] 280 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 | /     nvenum! {
[INFO] [stdout] 287 | |         pub enum NV_GPU_VENDOR / VendorId {
[INFO] [stdout] 288 | |             NV_GPU_VENDOR_UNKNOWN / Unknown = 0,
[INFO] [stdout] 289 | |             NV_GPU_VENDOR_ASUS / ASUS = 0x1043,
[INFO] [stdout] ...   |
[INFO] [stdout] 308 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/i2c.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout]   9 | / nvenum! {
[INFO] [stdout]  10 | |     pub enum NV_I2C_SPEED / I2cSpeed {
[INFO] [stdout]  11 | |         NVAPI_I2C_SPEED_DEFAULT / Default = 0,
[INFO] [stdout]  12 | |         NVAPI_I2C_SPEED_3KHZ / _3Khz = 1,
[INFO] [stdout] ...   |
[INFO] [stdout]  19 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/i2c.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | / nvapi! {
[INFO] [stdout] 160 | |     pub type NvAPI_I2CReadFn = extern "C" fn(hPhysicalGpu: NvPhysicalGpuHandle, pI2cInfo: *mut NV_I2C_INFO) -> NvAPI_Status;
[INFO] [stdout] 161 | |
[INFO] [stdout] 162 | |     /// This function reads the data buffer from the I2C port.
[INFO] [stdout] ...   |
[INFO] [stdout] 181 | |     pub unsafe fn NvAPI_I2CRead;
[INFO] [stdout] 182 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/i2c.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | / nvapi! {
[INFO] [stdout] 185 | |     pub type NvAPI_I2CWriteFn = extern "C" fn(hPhysicalGpu: NvPhysicalGpuHandle, pI2cInfo: *mut NV_I2C_INFO) -> NvAPI_Status;
[INFO] [stdout] 186 | |
[INFO] [stdout] 187 | |     /// This function writes the data buffer to the I2C port.
[INFO] [stdout] ...   |
[INFO] [stdout] 206 | |     pub unsafe fn NvAPI_I2CWrite;
[INFO] [stdout] 207 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/i2c.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 | /     nvapi! {
[INFO] [stdout] 264 | |         pub type NvAPI_I2CReadExFn = extern "C" fn(hPhysicalGpu: NvPhysicalGpuHandle, pI2cInfo: *mut NV_I2C_INFO_EX, pData: *mut ...
[INFO] [stdout] 265 | |
[INFO] [stdout] 266 | |         /// Undocumented function. `pData` is often `{ 1, 0 }`?
[INFO] [stdout] 267 | |         pub unsafe fn NvAPI_I2CReadEx;
[INFO] [stdout] 268 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/i2c.rs:270:5
[INFO] [stdout]     |
[INFO] [stdout] 270 | /     nvapi! {
[INFO] [stdout] 271 | |         pub type NvAPI_I2CWriteExFn = extern "C" fn(hPhysicalGpu: NvPhysicalGpuHandle, pI2cInfo: *mut NV_I2C_INFO_EX, pData: *mut...
[INFO] [stdout] 272 | |
[INFO] [stdout] 273 | |         /// Undocumented function. `pData` is often `{ 1, 0 }`?
[INFO] [stdout] 274 | |         pub unsafe fn NvAPI_I2CWriteEx;
[INFO] [stdout] 275 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/macros.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/handles.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | / nv_declare_handle! {
[INFO] [stdout] 4 | |     /// One or more physical GPUs acting in concert (SLI)
[INFO] [stdout] 5 | |     NvLogicalGpuHandle
[INFO] [stdout]   | |     ------------------ field in this struct
[INFO] [stdout] 6 | | }
[INFO] [stdout]   | |_- in this macro invocation
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `NvLogicalGpuHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]   = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout]  8 | / nv_declare_handle! {
[INFO] [stdout]  9 | |     /// A single physical GPU
[INFO] [stdout] 10 | |     NvPhysicalGpuHandle
[INFO] [stdout]    | |     ------------------- field in this struct
[INFO] [stdout] 11 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvPhysicalGpuHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | / nv_declare_handle! {
[INFO] [stdout] 14 | |     /// Display Device driven by NVIDIA GPU(s) (an attached display)
[INFO] [stdout] 15 | |     NvDisplayHandle
[INFO] [stdout]    | |     --------------- field in this struct
[INFO] [stdout] 16 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvDisplayHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | / nv_declare_handle! {
[INFO] [stdout] 19 | |     /// Monitor handle
[INFO] [stdout] 20 | |     NvMonitorHandle
[INFO] [stdout]    | |     --------------- field in this struct
[INFO] [stdout] 21 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvMonitorHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | / nv_declare_handle! {
[INFO] [stdout] 24 | |     /// Unattached Display Device driven by NVIDIA GPU(s)
[INFO] [stdout] 25 | |     NvUnAttachedDisplayHandle
[INFO] [stdout]    | |     ------------------------- field in this struct
[INFO] [stdout] 26 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvUnAttachedDisplayHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | / nv_declare_handle! {
[INFO] [stdout] 29 | |     /// A handle to an event registration instance
[INFO] [stdout] 30 | |     NvEventHandle
[INFO] [stdout]    | |     ------------- field in this struct
[INFO] [stdout] 31 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvEventHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | / nv_declare_handle! {
[INFO] [stdout] 34 | |     /// A handle to a Visual Computing Device
[INFO] [stdout] 35 | |     NvVisualComputingDeviceHandle
[INFO] [stdout]    | |     ----------------------------- field in this struct
[INFO] [stdout] 36 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvVisualComputingDeviceHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | / nv_declare_handle! {
[INFO] [stdout] 39 | |     /// A handle to a Host Interface Card
[INFO] [stdout] 40 | |     NvHICHandle
[INFO] [stdout]    | |     ----------- field in this struct
[INFO] [stdout] 41 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvHICHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | / nv_declare_handle! {
[INFO] [stdout] 44 | |     /// A handle to a Sync device
[INFO] [stdout] 45 | |     NvGSyncDeviceHandle
[INFO] [stdout]    | |     ------------------- field in this struct
[INFO] [stdout] 46 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvGSyncDeviceHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | / nv_declare_handle! {
[INFO] [stdout] 49 | |     /// A handle to an SDI device
[INFO] [stdout] 50 | |     NvVioHandle
[INFO] [stdout]    | |     ----------- field in this struct
[INFO] [stdout] 51 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvVioHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:53:1
[INFO] [stdout]    |
[INFO] [stdout] 53 | / nv_declare_handle! {
[INFO] [stdout] 54 | |     /// A handle to address a single transition request
[INFO] [stdout] 55 | |     NvTransitionHandle
[INFO] [stdout]    | |     ------------------ field in this struct
[INFO] [stdout] 56 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvTransitionHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | / nv_declare_handle! {
[INFO] [stdout] 59 | |     /// NVIDIA HD Audio Device
[INFO] [stdout] 60 | |     NvAudioHandle
[INFO] [stdout]    | |     ------------- field in this struct
[INFO] [stdout] 61 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvAudioHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | / nv_declare_handle! {
[INFO] [stdout] 64 | |     /// A handle for a 3D Vision Pro (3DVP) context
[INFO] [stdout] 65 | |     Nv3DVPContextHandle
[INFO] [stdout]    | |     ------------------- field in this struct
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Nv3DVPContextHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | / nv_declare_handle! {
[INFO] [stdout] 69 | |     /// A handle for a 3DVP RF transceiver
[INFO] [stdout] 70 | |     Nv3DVPTransceiverHandle
[INFO] [stdout]    | |     ----------------------- field in this struct
[INFO] [stdout] 71 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Nv3DVPTransceiverHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:73:1
[INFO] [stdout]    |
[INFO] [stdout] 73 | / nv_declare_handle! {
[INFO] [stdout] 74 | |     /// A handle for a pair of 3DVP RF shutter glasses
[INFO] [stdout] 75 | |     Nv3DVPGlassesHandle
[INFO] [stdout]    | |     ------------------- field in this struct
[INFO] [stdout] 76 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `Nv3DVPGlassesHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | / nv_declare_handle! {
[INFO] [stdout] 82 | |     /// Unique source handle on the system
[INFO] [stdout] 83 | |     NvSourceHandle
[INFO] [stdout]    | |     -------------- field in this struct
[INFO] [stdout] 84 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvSourceHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:86:1
[INFO] [stdout]    |
[INFO] [stdout] 86 | / nv_declare_handle! {
[INFO] [stdout] 87 | |     /// Unique target handle on the system
[INFO] [stdout] 88 | |     NvTargetHandle
[INFO] [stdout]    | |     -------------- field in this struct
[INFO] [stdout] 89 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NvTargetHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/macros.rs:8:26
[INFO] [stdout]    |
[INFO] [stdout]  8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/handles.rs:91:1
[INFO] [stdout]    |
[INFO] [stdout] 91 | / nv_declare_handle! {
[INFO] [stdout] 92 | |     /// DirectX SwapChain objects
[INFO] [stdout] 93 | |     NVDX_SwapChainHandle
[INFO] [stdout]    | |     -------------------- field in this struct
[INFO] [stdout] 94 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `NVDX_SwapChainHandle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: this warning originates in the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/status.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / nvenum! {
[INFO] [stdout]   4 | |     /// NvAPI Status Values
[INFO] [stdout]   5 | |     ///
[INFO] [stdout]   6 | |     /// All NvAPI functions return one of these codes.
[INFO] [stdout] ...   |
[INFO] [stdout] 279 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/driverapi.rs:57:1
[INFO] [stdout]     |
[INFO] [stdout]  57 | / nvapi! {
[INFO] [stdout]  58 | |     pub type GPU_GetMemoryInfoFn = extern "C" fn(hPhysicalGpu: handles::NvPhysicalGpuHandle, pMemoryInfo: *mut NV_DISPLAY_DRIVER_...
[INFO] [stdout]  59 | |
[INFO] [stdout]  60 | |     /// This function retrieves the available driver memory footprint for the specified GPU.
[INFO] [stdout]  61 | |     /// If the GPU is in TCC Mode, only dedicatedVideoMemory will be returned in pMemoryInfo (NV_DISPLAY_DRIVER_MEMORY_INFO).
[INFO] [stdout]  62 | |     pub unsafe fn NvAPI_GPU_GetMemoryInfo;
[INFO] [stdout]  63 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: `#[warn(improper_ctypes_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:59:1
[INFO] [stdout]     |
[INFO] [stdout]  59 | / nvapi! {
[INFO] [stdout]  60 | |     pub type GPU_GetFullNameFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, szName: *mut types::NvAPI_ShortString) -> NvAPI...
[INFO] [stdout]  61 | |
[INFO] [stdout]  62 | |     /// This function retrieves the full GPU name as an ASCII string - for example, "Quadro FX 1400".
[INFO] [stdout]  63 | |     pub unsafe fn NvAPI_GPU_GetFullName;
[INFO] [stdout]  64 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:66:1
[INFO] [stdout]     |
[INFO] [stdout]  66 | / nvapi! {
[INFO] [stdout]  67 | |     pub type GPU_GetPhysicalFrameBufferSizeFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pSize: *mut u32) -> NvAPI_Status;
[INFO] [stdout]  68 | |
[INFO] [stdout]  69 | |     /// This function returns the physical size of framebuffer in KB.  This does NOT include any
[INFO] [stdout]  70 | |     /// system RAM that may be dedicated for use by the GPU.
[INFO] [stdout]  71 | |     pub unsafe fn NvAPI_GPU_GetPhysicalFrameBufferSize;
[INFO] [stdout]  72 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | / nvapi! {
[INFO] [stdout]  75 | |     pub type GPU_GetVbiosVersionStringFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, szBiosRevision: *mut types::NvAPI_Sho...
[INFO] [stdout]  76 | |
[INFO] [stdout]  77 | |     /// This function returns the full video BIOS version string in the form of xx.xx.xx.xx.yy where
[INFO] [stdout] ...   |
[INFO] [stdout]  80 | |     pub unsafe fn NvAPI_GPU_GetVbiosVersionString;
[INFO] [stdout]  81 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:83:1
[INFO] [stdout]     |
[INFO] [stdout]  83 | / nvapi! {
[INFO] [stdout]  84 | |     pub type GPU_GetPCIIdentifiersFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pDeviceId: *mut u32, pSubSystemId: *mut u...
[INFO] [stdout]  85 | |
[INFO] [stdout]  86 | |     /// This function returns the PCI identifiers associated with this GPU.
[INFO] [stdout]  87 | |     pub unsafe fn NvAPI_GPU_GetPCIIdentifiers;
[INFO] [stdout]  88 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:90:1
[INFO] [stdout]     |
[INFO] [stdout]  90 | / nvenum! {
[INFO] [stdout]  91 | |     /// Used in NvAPI_GPU_GetSystemType()
[INFO] [stdout]  92 | |     pub enum NV_SYSTEM_TYPE / SystemType {
[INFO] [stdout]  93 | |         NV_SYSTEM_TYPE_UNKNOWN / Unknown = 0,
[INFO] [stdout] ...   |
[INFO] [stdout]  97 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:103:1
[INFO] [stdout]     |
[INFO] [stdout] 103 | / nvapi! {
[INFO] [stdout] 104 | |     pub type GPU_GetSystemTypeFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pSystemType: *mut NV_SYSTEM_TYPE) -> NvAPI_St...
[INFO] [stdout] 105 | |
[INFO] [stdout] 106 | |     /// This function identifies whether the GPU is a notebook GPU or a desktop GPU.
[INFO] [stdout] 107 | |     pub unsafe fn NvAPI_GPU_GetSystemType;
[INFO] [stdout] 108 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | / nvapi! {
[INFO] [stdout] 111 | |     pub type GPU_GetShaderSubPipeCountFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pCount: *mut u32) -> NvAPI_Status;
[INFO] [stdout] 112 | |
[INFO] [stdout] 113 | |     /// This function retrieves the number of Shader SubPipes on the GPU
[INFO] [stdout] 114 | |     /// On newer architectures, this corresponds to the number of SM units
[INFO] [stdout] 115 | |     pub unsafe fn NvAPI_GPU_GetShaderSubPipeCount;
[INFO] [stdout] 116 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:118:1
[INFO] [stdout]     |
[INFO] [stdout] 118 | / nvapi! {
[INFO] [stdout] 119 | |     pub type GPU_GetGpuCoreCountFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pCount: *mut u32) -> NvAPI_Status;
[INFO] [stdout] 120 | |
[INFO] [stdout] 121 | |     /// Retrieves the total number of cores defined for a GPU.
[INFO] [stdout] 122 | |     /// Returns 0 on architectures that don't define GPU cores.
[INFO] [stdout] 123 | |     pub unsafe fn NvAPI_GPU_GetGpuCoreCount;
[INFO] [stdout] 124 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | / nvapi! {
[INFO] [stdout]   5 | |     pub type GPU_GetTachReadingFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pValue: *mut u32) -> NvAPI_Status;
[INFO] [stdout]   6 | |
[INFO] [stdout]   7 | |     /// This API retrieves the fan speed tachometer reading for the specified physical GPU.
[INFO] [stdout]   8 | |     pub unsafe fn NvAPI_GPU_GetTachReading;
[INFO] [stdout]   9 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:21:5
[INFO] [stdout]     |
[INFO] [stdout]  21 | /     nvenum! {
[INFO] [stdout]  22 | |         pub enum NV_COOLER_TYPE / CoolerType {
[INFO] [stdout]  23 | |             NVAPI_COOLER_TYPE_NONE / None = 0,
[INFO] [stdout]  24 | |             NVAPI_COOLER_TYPE_FAN / Fan = 1,
[INFO] [stdout] ...   |
[INFO] [stdout]  28 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:34:5
[INFO] [stdout]     |
[INFO] [stdout]  34 | /     nvenum! {
[INFO] [stdout]  35 | |         pub enum NV_COOLER_CONTROLLER / CoolerController {
[INFO] [stdout]  36 | |             NVAPI_COOLER_CONTROLLER_NONE / None = 0,
[INFO] [stdout]  37 | |             NVAPI_COOLER_CONTROLLER_ADI / ADI = 1,
[INFO] [stdout] ...   |
[INFO] [stdout]  40 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:46:5
[INFO] [stdout]     |
[INFO] [stdout]  46 | /     nvenum! {
[INFO] [stdout]  47 | |         pub enum NV_COOLER_POLICY / CoolerPolicy {
[INFO] [stdout]  48 | |             NVAPI_COOLER_POLICY_NONE / None = 0,
[INFO] [stdout]  49 | |             /// Manual adjustment of cooler level. Gets applied right away independent of temperature or performance level.
[INFO] [stdout] ...   |
[INFO] [stdout]  64 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:75:5
[INFO] [stdout]     |
[INFO] [stdout]  75 | /     nvenum! {
[INFO] [stdout]  76 | |         pub enum NV_COOLER_TARGET / CoolerTarget {
[INFO] [stdout]  77 | |             NVAPI_COOLER_TARGET_NONE / None = 0,
[INFO] [stdout]  78 | |             NVAPI_COOLER_TARGET_GPU / GPU = 1,
[INFO] [stdout] ...   |
[INFO] [stdout]  84 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:94:5
[INFO] [stdout]     |
[INFO] [stdout]  94 | /     nvenum! {
[INFO] [stdout]  95 | |         pub enum NV_COOLER_CONTROL / CoolerControl {
[INFO] [stdout]  96 | |             NVAPI_COOLER_CONTROL_NONE / None = 0,
[INFO] [stdout]  97 | |             /// ON/OFF
[INFO] [stdout] ...   |
[INFO] [stdout] 102 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | /     nvenum! {
[INFO] [stdout] 109 | |         pub enum NV_COOLER_ACTIVITY_LEVEL / CoolerActivityLevel {
[INFO] [stdout] 110 | |             NVAPI_INACTIVE / Inactive = 0,
[INFO] [stdout] 111 | |             NVAPI_ACTIVE / Active = 1,
[INFO] [stdout] 112 | |         }
[INFO] [stdout] 113 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | /     nvapi! {
[INFO] [stdout] 169 | |         pub type GPU_GetCoolerSettingsFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, coolerIndex: u32, pCoolerInfo: *mut N...
[INFO] [stdout] 170 | |
[INFO] [stdout] 171 | |         /// Undocumented function.
[INFO] [stdout] ...   |
[INFO] [stdout] 177 | |         pub unsafe fn NvAPI_GPU_GetCoolerSettings;
[INFO] [stdout] 178 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 | /     nvapi! {
[INFO] [stdout] 204 | |         pub type GPU_SetCoolerLevelsFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, coolerIndex: u32, pCoolerLevels: *const...
[INFO] [stdout] 205 | |
[INFO] [stdout] 206 | |         /// Undocumented function.
[INFO] [stdout] ...   |
[INFO] [stdout] 218 | |         pub unsafe fn NvAPI_GPU_SetCoolerLevels;
[INFO] [stdout] 219 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 | /     nvapi! {
[INFO] [stdout] 222 | |         pub type GPU_RestoreCoolerSettingsFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, coolerIndex: *const u32, coolerCo...
[INFO] [stdout] 223 | |
[INFO] [stdout] 224 | |         /// Undocumented function.
[INFO] [stdout] ...   |
[INFO] [stdout] 230 | |         pub unsafe fn NvAPI_GPU_RestoreCoolerSettings;
[INFO] [stdout] 231 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 261 | /     nvapi! {
[INFO] [stdout] 262 | |         pub type GPU_GetCoolerPolicyTableFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, coolerIndex: u32, pCoolerTable: *m...
[INFO] [stdout] 263 | |
[INFO] [stdout] 264 | |         /// Undocumented function.
[INFO] [stdout] 265 | |         /// Retrieves the table of cooler and policy levels for the selected policy. Supported only for NVAPI_COOLER_POLICY_PERF.
[INFO] [stdout] 266 | |         pub unsafe fn NvAPI_GPU_GetCoolerPolicyTable;
[INFO] [stdout] 267 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:269:5
[INFO] [stdout]     |
[INFO] [stdout] 269 | /     nvapi! {
[INFO] [stdout] 270 | |         pub type GPU_SetCoolerPolicyTableFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, coolerIndex: u32, pCoolerTable: *c...
[INFO] [stdout] 271 | |
[INFO] [stdout] 272 | |         /// Undocumented function.
[INFO] [stdout] ...   |
[INFO] [stdout] 278 | |         pub unsafe fn NvAPI_GPU_SetCoolerPolicyTable;
[INFO] [stdout] 279 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/cooler.rs:281:5
[INFO] [stdout]     |
[INFO] [stdout] 281 | /     nvapi! {
[INFO] [stdout] 282 | |         pub type GPU_RestoreCoolerPolicyTableFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, coolerIndex: *const u32, coole...
[INFO] [stdout] 283 | |
[INFO] [stdout] 284 | |         /// Undocumented function.
[INFO] [stdout] ...   |
[INFO] [stdout] 290 | |         pub unsafe fn NvAPI_GPU_RestoreCoolerPolicyTable;
[INFO] [stdout] 291 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:38:1
[INFO] [stdout]     |
[INFO] [stdout]  38 | / nvenum! {
[INFO] [stdout]  39 | |     /// Domain index into NV_GPU_DYNAMIC_PSTATES_INFO_EX.utilization.
[INFO] [stdout]  40 | |     ///
[INFO] [stdout]  41 | |     /// Definition missing from the nvapi headers for some reason.
[INFO] [stdout] ...   |
[INFO] [stdout]  48 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:72:1
[INFO] [stdout]     |
[INFO] [stdout]  72 | / nvapi! {
[INFO] [stdout]  73 | |     pub type GPU_GetDynamicPstatesInfoExFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pDynamicPstatesInfoEx: *mut NV_GPU_...
[INFO] [stdout]  74 | |
[INFO] [stdout]  75 | |     /// This API retrieves the NV_GPU_DYNAMIC_PSTATES_INFO_EX structure for the specified physical GPU.
[INFO] [stdout] ...   |
[INFO] [stdout]  85 | |     pub unsafe fn NvAPI_GPU_GetDynamicPstatesInfoEx;
[INFO] [stdout]  86 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:88:1
[INFO] [stdout]     |
[INFO] [stdout]  88 | / nvenum! {
[INFO] [stdout]  89 | |     pub enum NV_GPU_PERF_PSTATE_ID / PstateId {
[INFO] [stdout]  90 | |         NVAPI_GPU_PERF_PSTATE_P0 / P0 = 0,
[INFO] [stdout]  91 | |         NVAPI_GPU_PERF_PSTATE_P1 / P1 = 1,
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:115:1
[INFO] [stdout]     |
[INFO] [stdout] 115 | / nvapi! {
[INFO] [stdout] 116 | |     pub type GPU_GetCurrentPstateFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pCurrentPstate: *mut NV_GPU_PERF_PSTATE_ID...
[INFO] [stdout] 117 | |
[INFO] [stdout] 118 | |     /// This function retrieves the current performance state (P-State).
[INFO] [stdout] 119 | |     pub unsafe fn NvAPI_GPU_GetCurrentPstate;
[INFO] [stdout] 120 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | / nvenum! {
[INFO] [stdout] 123 | |     pub enum NV_GPU_PERF_VOLTAGE_INFO_DOMAIN_ID / VoltageInfoDomain {
[INFO] [stdout] 124 | |         NVAPI_GPU_PERF_VOLTAGE_INFO_DOMAIN_CORE / Core = 0,
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | / nvenum! {
[INFO] [stdout] 135 | |     /// Used to identify clock type
[INFO] [stdout] 136 | |     pub enum NV_GPU_PERF_PSTATE20_CLOCK_TYPE_ID / PstateClockType {
[INFO] [stdout] 137 | |         /// Clock domains that use single frequency value within given pstate
[INFO] [stdout] ...   |
[INFO] [stdout] 142 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:299:1
[INFO] [stdout]     |
[INFO] [stdout] 299 | / nvapi! {
[INFO] [stdout] 300 | |     pub type GPU_GetPstates20Fn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pPstatesInfo: *mut NV_GPU_PERF_PSTATES20_INFO)...
[INFO] [stdout] 301 | |
[INFO] [stdout] 302 | |     /// This API retrieves all performance states (P-States) 2.0 information.
[INFO] [stdout] ...   |
[INFO] [stdout] 314 | |     pub unsafe fn NvAPI_GPU_GetPstates20;
[INFO] [stdout] 315 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/pstate.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 321 | /     nvapi! {
[INFO] [stdout] 322 | |         pub type GPU_SetPstates20Fn = extern "C" fn(hPhysicalGPU: super::NvPhysicalGpuHandle, pPstatesInfo: *const super::NV_GPU_...
[INFO] [stdout] 323 | |
[INFO] [stdout] 324 | |         /// Undocumented private API
[INFO] [stdout] 325 | |         pub unsafe fn NvAPI_GPU_SetPstates20;
[INFO] [stdout] 326 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/clock.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | / nvenum! {
[INFO] [stdout]  12 | |     /// An index into NV_GPU_CLOCK_FREQUENCIES.domain[]
[INFO] [stdout]  13 | |     pub enum NV_GPU_PUBLIC_CLOCK_ID / PublicClockId {
[INFO] [stdout]  14 | |         NVAPI_GPU_PUBLIC_CLOCK_GRAPHICS / Graphics = 0,
[INFO] [stdout] ...   |
[INFO] [stdout]  20 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/clock.rs:59:1
[INFO] [stdout]     |
[INFO] [stdout]  59 | / nvenum! {
[INFO] [stdout]  60 | |     /// Used in NvAPI_GPU_GetAllClockFrequencies()
[INFO] [stdout]  61 | |     pub enum NV_GPU_CLOCK_FREQUENCIES_CLOCK_TYPE / ClockFrequencyType {
[INFO] [stdout]  62 | |         NV_GPU_CLOCK_FREQUENCIES_CURRENT_FREQ / Current = 0,
[INFO] [stdout] ...   |
[INFO] [stdout]  67 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/clock.rs:82:1
[INFO] [stdout]     |
[INFO] [stdout]  82 | / nvapi! {
[INFO] [stdout]  83 | |     pub type GPU_GetAllClockFrequenciesFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pClkFreqs: *mut NV_GPU_CLOCK_FREQUEN...
[INFO] [stdout]  84 | |
[INFO] [stdout]  85 | |     /// This function retrieves the NV_GPU_CLOCK_FREQUENCIES structure for the specified physical GPU.
[INFO] [stdout] ...   |
[INFO] [stdout]  93 | |     pub unsafe fn NvAPI_GPU_GetAllClockFrequencies;
[INFO] [stdout]  94 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/clock.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 | /     nvapi! {
[INFO] [stdout] 131 | |         pub type GPU_GetUsagesFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pUsagesInfo: *mut NV_USAGES_INFO) -> NvAPI_St...
[INFO] [stdout] 132 | |
[INFO] [stdout] 133 | |         /// Undocumented function. Probably deprecated and replaced with NvAPI_GPU_GetDynamicPstatesInfoEx()
[INFO] [stdout] 134 | |         pub unsafe fn NvAPI_GPU_GetUsages;
[INFO] [stdout] 135 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/clock.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 | /     nvapi! {
[INFO] [stdout] 152 | |         pub type GPU_GetAllClocksFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pClocksInfo: *mut NV_CLOCKS_INFO) -> NvAPI...
[INFO] [stdout] 153 | |
[INFO] [stdout] 154 | |         /// Undocumented function. Probably deprecated and replaced with NvAPI_GPU_GetAllClockFrequencies()
[INFO] [stdout] ...   |
[INFO] [stdout] 165 | |         pub unsafe fn NvAPI_GPU_GetAllClocks;
[INFO] [stdout] 166 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/clock.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 288 | /     nvenum! {
[INFO] [stdout] 289 | |         pub enum NV_GPU_CLOCK_LOCK_MODE / ClockLockMode {
[INFO] [stdout] 290 | |             NVAPI_GPU_CLOCK_LOCK_NONE / None = 0,
[INFO] [stdout] 291 | |             NVAPI_GPU_CLOCK_LOCK_MANUAL / Manual = 3,
[INFO] [stdout] 292 | |         }
[INFO] [stdout] 293 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/thermal.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | / nvenum! {
[INFO] [stdout]   5 | |     /// Used in NV_GPU_THERMAL_SETTINGS
[INFO] [stdout]   6 | |     pub enum NV_THERMAL_TARGET / ThermalTarget {
[INFO] [stdout]   7 | |         NVAPI_THERMAL_TARGET_NONE / None = 0,
[INFO] [stdout] ...   |
[INFO] [stdout]  25 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/thermal.rs:39:1
[INFO] [stdout]     |
[INFO] [stdout]  39 | / nvenum! {
[INFO] [stdout]  40 | |     /// NV_GPU_THERMAL_SETTINGS
[INFO] [stdout]  41 | |     pub enum NV_THERMAL_CONTROLLER / ThermalController {
[INFO] [stdout]  42 | |         NVAPI_THERMAL_CONTROLLER_NONE / None = 0,
[INFO] [stdout] ...   |
[INFO] [stdout]  56 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/thermal.rs:102:1
[INFO] [stdout]     |
[INFO] [stdout] 102 | / nvapi! {
[INFO] [stdout] 103 | |     pub type GPU_GetThermalSettingsFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, sensorIndex: u32, pThermalSettings: *mut...
[INFO] [stdout] 104 | |
[INFO] [stdout] 105 | |     /// This function retrieves the thermal information of all thermal sensors or specific thermal sensor associated with the sel...
[INFO] [stdout] ...   |
[INFO] [stdout] 110 | |     pub unsafe fn NvAPI_GPU_GetThermalSettings;
[INFO] [stdout] 111 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/display.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | / nvenum! {
[INFO] [stdout]   5 | |     pub enum NV_MONITOR_CONN_TYPE / MonitorConnectorType {
[INFO] [stdout]   6 | |         NV_MONITOR_CONN_TYPE_UNINITIALIZED / Uninitialized = 0,
[INFO] [stdout]   7 | |         NV_MONITOR_CONN_TYPE_VGA / Vga = 2,
[INFO] [stdout] ...   |
[INFO] [stdout]  17 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/display.rs:87:1
[INFO] [stdout]     |
[INFO] [stdout]  87 | / nvapi! {
[INFO] [stdout]  88 | |     pub type GPU_GetConnectedDisplayIds = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pDisplayIds: *mut NV_GPU_DISPLAYIDS, p...
[INFO] [stdout]  89 | |
[INFO] [stdout]  90 | |     /// Due to space limitation NvAPI_GPU_GetConnectedOutputs can return maximum 32 devices, but
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | |     pub unsafe fn NvAPI_GPU_GetConnectedDisplayIds;
[INFO] [stdout] 110 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/display.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | / nvapi! {
[INFO] [stdout] 113 | |     pub type GPU_GetAllDisplayIds = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pDisplayIds: *mut NV_GPU_DISPLAYIDS, pDispla...
[INFO] [stdout] 114 | |
[INFO] [stdout] 115 | |     /// This API returns display IDs for all possible outputs on the GPU.
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |     pub unsafe fn NvAPI_GPU_GetAllDisplayIds;
[INFO] [stdout] 122 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 | /     nvapi! {
[INFO] [stdout] 174 | |         pub type GPU_GetShaderPipeCountFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pCount: *mut u32) -> NvAPI_Status;
[INFO] [stdout] 175 | |
[INFO] [stdout] 176 | |         pub unsafe fn NvAPI_GPU_GetShaderPipeCount;
[INFO] [stdout] 177 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 179 | /     nvenum! {
[INFO] [stdout] 180 | |         /// Undocumented function NvAPI_GPU_GetRamType()
[INFO] [stdout] 181 | |         pub enum NV_GPU_RAM_TYPE / RamType {
[INFO] [stdout] 182 | |             NV_GPU_RAM_UNKNOWN / Unknown = 0,
[INFO] [stdout] ...   |
[INFO] [stdout] 194 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 200 | /     nvapi! {
[INFO] [stdout] 201 | |         pub type GPU_GetRamTypeFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pMemType: *mut NV_GPU_RAM_TYPE) -> NvAPI_Sta...
[INFO] [stdout] 202 | |
[INFO] [stdout] 203 | |         /// Undocumented function.
[INFO] [stdout] 204 | |         pub unsafe fn NvAPI_GPU_GetRamType;
[INFO] [stdout] 205 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 | /     nvenum! {
[INFO] [stdout] 209 | |         /// Undocumented function NvAPI_GPU_GetRamMaker()
[INFO] [stdout] 210 | |         pub enum NV_GPU_RAM_MAKER / RamMaker {
[INFO] [stdout] 211 | |             NV_GPU_RAM_MAKER_UNKNOWN / Unknown = 0,
[INFO] [stdout] ...   |
[INFO] [stdout] 223 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 | /     nvapi! {
[INFO] [stdout] 230 | |         pub type GPU_GetRamMakerFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pRamMaker: *mut NV_GPU_RAM_MAKER) -> NvAPI_...
[INFO] [stdout] 231 | |
[INFO] [stdout] 232 | |         /// Undocumented function.
[INFO] [stdout] 233 | |         pub unsafe fn NvAPI_GPU_GetRamMaker;
[INFO] [stdout] 234 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 | /     nvapi! {
[INFO] [stdout] 237 | |         pub type GPU_GetRamBusWidthFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pRamBusWidth: *mut u32) -> NvAPI_Status;
[INFO] [stdout] 238 | |
[INFO] [stdout] 239 | |         /// Undocumented function.
[INFO] [stdout] 240 | |         pub unsafe fn NvAPI_GPU_GetRamBusWidth;
[INFO] [stdout] 241 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:243:5
[INFO] [stdout]     |
[INFO] [stdout] 243 | /     nvapi! {
[INFO] [stdout] 244 | |         pub type GPU_GetRamBankCountFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pRamBankCount: *mut u32) -> NvAPI_Status;
[INFO] [stdout] 245 | |
[INFO] [stdout] 246 | |         /// Undocumented function.
[INFO] [stdout] 247 | |         pub unsafe fn NvAPI_GPU_GetRamBankCount;
[INFO] [stdout] 248 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 | /     nvenum! {
[INFO] [stdout] 251 | |         /// Undocumented function NvAPI_GPU_GetFoundry()
[INFO] [stdout] 252 | |         pub enum NV_GPU_FOUNDRY / Foundry {
[INFO] [stdout] 253 | |             NV_GPU_FOUNDRY_UNKNOWN / Unknown = 0,
[INFO] [stdout] ...   |
[INFO] [stdout] 261 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 | /     nvapi! {
[INFO] [stdout] 276 | |         pub type GPU_GetFoundryFn = extern "C" fn(hPhysicalGPU: NvPhysicalGpuHandle, pFoundry: *mut NV_GPU_FOUNDRY) -> NvAPI_Status;
[INFO] [stdout] 277 | |
[INFO] [stdout] 278 | |         /// Undocumented function.
[INFO] [stdout] 279 | |         pub unsafe fn NvAPI_GPU_GetFoundry;
[INFO] [stdout] 280 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/gpu/mod.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 | /     nvenum! {
[INFO] [stdout] 287 | |         pub enum NV_GPU_VENDOR / VendorId {
[INFO] [stdout] 288 | |             NV_GPU_VENDOR_UNKNOWN / Unknown = 0,
[INFO] [stdout] 289 | |             NV_GPU_VENDOR_ASUS / ASUS = 0x1043,
[INFO] [stdout] ...   |
[INFO] [stdout] 308 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/macros.rs:107:19
[INFO] [stdout]     |
[INFO] [stdout] 107 |                   ].into_iter().cloned()
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/i2c.rs:9:1
[INFO] [stdout]     |
[INFO] [stdout]   9 | / nvenum! {
[INFO] [stdout]  10 | |     pub enum NV_I2C_SPEED / I2cSpeed {
[INFO] [stdout]  11 | |         NVAPI_I2C_SPEED_DEFAULT / Default = 0,
[INFO] [stdout]  12 | |         NVAPI_I2C_SPEED_3KHZ / _3Khz = 1,
[INFO] [stdout] ...   |
[INFO] [stdout]  19 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: this warning originates in the macro `nvenum` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 ].into_iter().cloned()
[INFO] [stdout] 107 +                 ].iter().cloned()
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 103 ~                 IntoIterator::into_iter([
[INFO] [stdout] 104 |                     $(
[INFO] [stdout] 105 |                         $enum_name::$name
[INFO] [stdout] 106 |                     ),*
[INFO] [stdout] 107 ~                 ]).cloned()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/i2c.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | / nvapi! {
[INFO] [stdout] 160 | |     pub type NvAPI_I2CReadFn = extern "C" fn(hPhysicalGpu: NvPhysicalGpuHandle, pI2cInfo: *mut NV_I2C_INFO) -> NvAPI_Status;
[INFO] [stdout] 161 | |
[INFO] [stdout] 162 | |     /// This function reads the data buffer from the I2C port.
[INFO] [stdout] ...   |
[INFO] [stdout] 181 | |     pub unsafe fn NvAPI_I2CRead;
[INFO] [stdout] 182 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/i2c.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | / nvapi! {
[INFO] [stdout] 185 | |     pub type NvAPI_I2CWriteFn = extern "C" fn(hPhysicalGpu: NvPhysicalGpuHandle, pI2cInfo: *mut NV_I2C_INFO) -> NvAPI_Status;
[INFO] [stdout] 186 | |
[INFO] [stdout] 187 | |     /// This function writes the data buffer to the I2C port.
[INFO] [stdout] ...   |
[INFO] [stdout] 206 | |     pub unsafe fn NvAPI_I2CWrite;
[INFO] [stdout] 207 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/i2c.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 | /     nvapi! {
[INFO] [stdout] 264 | |         pub type NvAPI_I2CReadExFn = extern "C" fn(hPhysicalGpu: NvPhysicalGpuHandle, pI2cInfo: *mut NV_I2C_INFO_EX, pData: *mut ...
[INFO] [stdout] 265 | |
[INFO] [stdout] 266 | |         /// Undocumented function. `pData` is often `{ 1, 0 }`?
[INFO] [stdout] 267 | |         pub unsafe fn NvAPI_I2CReadEx;
[INFO] [stdout] 268 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` fn uses type `NvPhysicalGpuHandle`, which is not FFI-safe
[INFO] [stdout]    --> src/macros.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |           pub type $name = extern "C" fn($($arg: $arg_ty),*) -> $ret;
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/i2c.rs:270:5
[INFO] [stdout]     |
[INFO] [stdout] 270 | /     nvapi! {
[INFO] [stdout] 271 | |         pub type NvAPI_I2CWriteExFn = extern "C" fn(hPhysicalGpu: NvPhysicalGpuHandle, pI2cInfo: *mut NV_I2C_INFO_EX, pData: *mut...
[INFO] [stdout] 272 | |
[INFO] [stdout] 273 | |         /// Undocumented function. `pData` is often `{ 1, 0 }`?
[INFO] [stdout] 274 | |         pub unsafe fn NvAPI_I2CWriteEx;
[INFO] [stdout] 275 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]     = note: this struct has unspecified layout
[INFO] [stdout] note: the type is defined here
[INFO] [stdout]    --> src/macros.rs:8:9
[INFO] [stdout]     |
[INFO] [stdout]   8 |           pub struct $name(*const ::std::os::raw::c_void);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/handles.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout]   8 | / nv_declare_handle! {
[INFO] [stdout]   9 | |     /// A single physical GPU
[INFO] [stdout]  10 | |     NvPhysicalGpuHandle
[INFO] [stdout]  11 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `nvapi` which comes from the expansion of the macro `nv_declare_handle` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.18s
[INFO] running `Command { std: "docker" "inspect" "64fdc89e0938760fc68845bb44bface2973701335cfd2c602872b516ea541ea4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64fdc89e0938760fc68845bb44bface2973701335cfd2c602872b516ea541ea4", kill_on_drop: false }`
[INFO] [stdout] 64fdc89e0938760fc68845bb44bface2973701335cfd2c602872b516ea541ea4
