[INFO] cloning repository https://github.com/anpage/inlprogalt
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/anpage/inlprogalt" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fanpage%2Finlprogalt", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fanpage%2Finlprogalt'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5c5f5539dab22396fa0f3797c607f94e930c2362
[INFO] testing anpage/inlprogalt against beta-2020-10-09 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fanpage%2Finlprogalt" "/workspace/builds/worker-2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/anpage/inlprogalt on toolchain beta-2020-10-09
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/anpage/inlprogalt
[INFO] finished tweaking git repo https://github.com/anpage/inlprogalt
[INFO] tweaked toml for git repo https://github.com/anpage/inlprogalt written to /workspace/builds/worker-2/source/Cargo.toml
[INFO] crate git repo https://github.com/anpage/inlprogalt already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/anpage/libusb-rs`
[INFO] [stderr]     Updating git repository `https://github.com/a1ien/libusb-sys`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 244a3ce1b121872f91e54dea329aa109304bc5bb3f9dcb2bdc1aa76d08373b0c
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "244a3ce1b121872f91e54dea329aa109304bc5bb3f9dcb2bdc1aa76d08373b0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "244a3ce1b121872f91e54dea329aa109304bc5bb3f9dcb2bdc1aa76d08373b0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "244a3ce1b121872f91e54dea329aa109304bc5bb3f9dcb2bdc1aa76d08373b0c", kill_on_drop: false }`
[INFO] [stdout] 244a3ce1b121872f91e54dea329aa109304bc5bb3f9dcb2bdc1aa76d08373b0c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a2a9645bbf55ccea5d3b68b9a7cf14d4cb1044e0eaf2c9cc23f3a17d345825f2
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a2a9645bbf55ccea5d3b68b9a7cf14d4cb1044e0eaf2c9cc23f3a17d345825f2", kill_on_drop: false }`
[INFO] [stderr]    Compiling bit-vec v0.5.0
[INFO] [stderr]    Compiling libusb-sys v0.3.0 (https://github.com/a1ien/libusb-sys#471864da)
[INFO] [stderr]    Compiling bit-set v0.5.0
[INFO] [stderr]    Compiling libusb v0.4.0 (https://github.com/anpage/libusb-rs#50cbd793)
[INFO] [stderr]    Compiling inlprogalt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/buffer.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     proto::buffer::ALLOCATE_BUFFER0.call(handle, (buff_0_id<<8)|buff_0_base_bank, numbanks)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(const_item_mutation)]` on by default
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / pub const ALLOCATE_BUFFER0: Operation = Operation {
[INFO] [stdout] 56 | |     direction: libusb::Direction::In,
[INFO] [stdout] 57 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 58 | |     value: 0x80,
[INFO] [stdout] 59 | |     length: 1
[INFO] [stdout] 60 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/buffer.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     proto::buffer::ALLOCATE_BUFFER1.call(handle, (buff_1_id<<8)|buff_1_base_bank, numbanks)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | / pub const ALLOCATE_BUFFER1: Operation = Operation {
[INFO] [stdout] 63 | |     direction: libusb::Direction::In,
[INFO] [stdout] 64 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 65 | |     value: 0x81,
[INFO] [stdout] 66 | |     length: 1
[INFO] [stdout] 67 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/buffer.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     proto::buffer::SET_RELOAD_PAGENUM0.call(handle, buff_0_firstpage, reload)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | / pub const SET_RELOAD_PAGENUM0: Operation = Operation {
[INFO] [stdout] 70 | |     direction: libusb::Direction::In,
[INFO] [stdout] 71 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 72 | |     value: 0x90,
[INFO] [stdout] 73 | |     length: 1
[INFO] [stdout] 74 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/buffer.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     proto::buffer::SET_RELOAD_PAGENUM1.call(handle, buff_1_firstpage, reload)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | / pub const SET_RELOAD_PAGENUM1: Operation = Operation {
[INFO] [stdout] 77 | |     direction: libusb::Direction::In,
[INFO] [stdout] 78 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 79 | |     value: 0x91,
[INFO] [stdout] 80 | |     length: 1
[INFO] [stdout] 81 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 7  |     proto::operation::SET_OPERATION.call(handle, proto::buffer::RESET, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/operation.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / pub const SET_OPERATION: Operation = Operation {
[INFO] [stdout] 7  | |     direction: libusb::Direction::In,
[INFO] [stdout] 8  | |     request: REQUEST_OPER,
[INFO] [stdout] 9  | |     value: 0x0,
[INFO] [stdout] 10 | |     length: 1
[INFO] [stdout] 11 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 8  |     proto::buffer::RAW_BUFFER_RESET.call(handle, 0, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / pub const RAW_BUFFER_RESET: Operation = Operation {
[INFO] [stdout] 21 | |     direction: libusb::Direction::In,
[INFO] [stdout] 22 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 23 | |     value: 0x0,
[INFO] [stdout] 24 | |     length: 1
[INFO] [stdout] 25 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     proto::buffer::SET_MEM_N_PART.call(handle, mem<<8|proto::buffer::MASKROM, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | / pub const SET_MEM_N_PART: Operation = Operation {
[INFO] [stdout] 28 | |     direction: libusb::Direction::In,
[INFO] [stdout] 29 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 30 | |     value: 0x30,
[INFO] [stdout] 31 | |     length: 1
[INFO] [stdout] 32 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     proto::buffer::SET_MEM_N_PART.call(handle, mem<<8|proto::buffer::MASKROM, 1)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | / pub const SET_MEM_N_PART: Operation = Operation {
[INFO] [stdout] 28 | |     direction: libusb::Direction::In,
[INFO] [stdout] 29 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 30 | |     value: 0x30,
[INFO] [stdout] 31 | |     length: 1
[INFO] [stdout] 32 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     proto::buffer::SET_MAP_N_MAPVAR.call(handle, map<<8|proto::buffer::NOVAR, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / pub const SET_MAP_N_MAPVAR: Operation = Operation {
[INFO] [stdout] 35 | |     direction: libusb::Direction::In,
[INFO] [stdout] 36 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 37 | |     value: 0x32,
[INFO] [stdout] 38 | |     length: 1
[INFO] [stdout] 39 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     proto::buffer::SET_MAP_N_MAPVAR.call(handle, map<<8|proto::buffer::NOVAR, 1)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / pub const SET_MAP_N_MAPVAR: Operation = Operation {
[INFO] [stdout] 35 | |     direction: libusb::Direction::In,
[INFO] [stdout] 36 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 37 | |     value: 0x32,
[INFO] [stdout] 38 | |     length: 1
[INFO] [stdout] 39 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     proto::operation::SET_OPERATION.call(handle, proto::buffer::STARTDUMP, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/operation.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / pub const SET_OPERATION: Operation = Operation {
[INFO] [stdout] 7  | |     direction: libusb::Direction::In,
[INFO] [stdout] 8  | |     request: REQUEST_OPER,
[INFO] [stdout] 9  | |     value: 0x0,
[INFO] [stdout] 10 | |     length: 1
[INFO] [stdout] 11 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut cur_buff_status = proto::buffer::GET_CUR_BUFF_STATUS.call(handle, 0, 0)?[2];
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | / pub const GET_CUR_BUFF_STATUS: Operation = Operation {
[INFO] [stdout] 42 | |     direction: libusb::Direction::In,
[INFO] [stdout] 43 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 44 | |     value: 0x61,
[INFO] [stdout] 45 | |     length: 3
[INFO] [stdout] 46 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |         out.append(&mut proto::buffer::BUFF_PAYLOAD.call(handle, 0, 0)?);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | / pub const BUFF_PAYLOAD: Operation = Operation {
[INFO] [stdout] 49 | |     direction: libusb::Direction::In,
[INFO] [stdout] 50 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 51 | |     value: 0x70,
[INFO] [stdout] 52 | |     length: 128
[INFO] [stdout] 53 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:31:31
[INFO] [stdout]    |
[INFO] [stdout] 31 |             cur_buff_status = proto::buffer::GET_CUR_BUFF_STATUS.call(handle, 0, 0)?[2];
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | / pub const GET_CUR_BUFF_STATUS: Operation = Operation {
[INFO] [stdout] 42 | |     direction: libusb::Direction::In,
[INFO] [stdout] 43 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 44 | |     value: 0x61,
[INFO] [stdout] 45 | |     length: 3
[INFO] [stdout] 46 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/genesis.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 8  |     proto::io::IO_RESET.call(handle, 0, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/io.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub const IO_RESET: Operation = Operation {
[INFO] [stdout] 16 | |     direction: libusb::Direction::In,
[INFO] [stdout] 17 | |     request: REQUEST_IO,
[INFO] [stdout] 18 | |     value: 0,
[INFO] [stdout] 19 | |     length: 1
[INFO] [stdout] 20 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/genesis.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 9  |     proto::io::SEGA_INIT.call(handle, 0, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/io.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / pub const SEGA_INIT: Operation = Operation {
[INFO] [stdout] 23 | |     direction: libusb::Direction::In,
[INFO] [stdout] 24 | |     request: REQUEST_IO,
[INFO] [stdout] 25 | |     value: 7,
[INFO] [stdout] 26 | |     length: 1
[INFO] [stdout] 27 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/genesis.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     proto::io::IO_RESET.call(handle, 0, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/io.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub const IO_RESET: Operation = Operation {
[INFO] [stdout] 16 | |     direction: libusb::Direction::In,
[INFO] [stdout] 17 | |     request: REQUEST_IO,
[INFO] [stdout] 18 | |     value: 0,
[INFO] [stdout] 19 | |     length: 1
[INFO] [stdout] 20 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/genesis.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         proto::sega::SET_BANK.call(handle, read_count, 0)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/sega.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / pub const SET_BANK: Operation = Operation {
[INFO] [stdout] 7  | |     direction: libusb::Direction::In,
[INFO] [stdout] 8  | |     request: REQUEST_SEGA,
[INFO] [stdout] 9  | |     value: 2,
[INFO] [stdout] 10 | |     length: 1
[INFO] [stdout] 11 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/n64.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 8  |     proto::io::IO_RESET.call(handle, 0, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/io.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub const IO_RESET: Operation = Operation {
[INFO] [stdout] 16 | |     direction: libusb::Direction::In,
[INFO] [stdout] 17 | |     request: REQUEST_IO,
[INFO] [stdout] 18 | |     value: 0,
[INFO] [stdout] 19 | |     length: 1
[INFO] [stdout] 20 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/n64.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 9  |     proto::io::N64_INIT.call(handle, 0, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/io.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | / pub const N64_INIT: Operation = Operation {
[INFO] [stdout] 30 | |     direction: libusb::Direction::In,
[INFO] [stdout] 31 | |     request: REQUEST_IO,
[INFO] [stdout] 32 | |     value: 8,
[INFO] [stdout] 33 | |     length: 1
[INFO] [stdout] 34 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/n64.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     proto::io::IO_RESET.call(handle, 0, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/io.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub const IO_RESET: Operation = Operation {
[INFO] [stdout] 16 | |     direction: libusb::Direction::In,
[INFO] [stdout] 17 | |     request: REQUEST_IO,
[INFO] [stdout] 18 | |     value: 0,
[INFO] [stdout] 19 | |     length: 1
[INFO] [stdout] 20 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/n64.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         proto::n64::N64_SET_BANK.call(handle, BANK_BASE+read_count, 0)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/n64.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout] 7  | / pub const N64_SET_BANK: Operation = Operation {
[INFO] [stdout] 8  | |     direction: libusb::Direction::In,
[INFO] [stdout] 9  | |     request: REQUEST_N64,
[INFO] [stdout] 10 | |     value: 2,
[INFO] [stdout] 11 | |     length: 1
[INFO] [stdout] 12 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/n64.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         proto::n64::N64_RELEASE_BUS.call(handle, 0, 0)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/n64.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub const N64_RELEASE_BUS: Operation = Operation {
[INFO] [stdout] 16 | |     direction: libusb::Direction::In,
[INFO] [stdout] 17 | |     request: REQUEST_N64,
[INFO] [stdout] 18 | |     value: 4,
[INFO] [stdout] 19 | |     length: 1
[INFO] [stdout] 20 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `SEGA_INIT`
[INFO] [stdout]   --> src/proto/io.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / pub const SEGA_INIT: Operation = Operation {
[INFO] [stdout] 23 | |     direction: libusb::Direction::In,
[INFO] [stdout] 24 | |     request: REQUEST_IO,
[INFO] [stdout] 25 | |     value: 7,
[INFO] [stdout] 26 | |     length: 1
[INFO] [stdout] 27 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `GENESIS_ROM_PAGE0`
[INFO] [stdout]  --> src/proto/buffer.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const GENESIS_ROM_PAGE0: u16 = 0x28;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `GENESIS_ROM_PAGE1`
[INFO] [stdout]  --> src/proto/buffer.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const GENESIS_ROM_PAGE1: u16 = 0x29;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `DUMPING`
[INFO] [stdout]   --> src/proto/buffer.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const DUMPING: u16 = 0xD0;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `REQUEST_SEGA`
[INFO] [stdout]  --> src/proto/sega.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | const REQUEST_SEGA: u8 = 14;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `SET_BANK`
[INFO] [stdout]   --> src/proto/sega.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / pub const SET_BANK: Operation = Operation {
[INFO] [stdout] 7  | |     direction: libusb::Direction::In,
[INFO] [stdout] 8  | |     request: REQUEST_SEGA,
[INFO] [stdout] 9  | |     value: 2,
[INFO] [stdout] 10 | |     length: 1
[INFO] [stdout] 11 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `process`
[INFO] [stdout]  --> src/genesis.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn process(handle: &libusb::DeviceHandle) -> libusb::Result<()> {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `dump_rom`
[INFO] [stdout]   --> src/genesis.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn dump_rom(handle: &libusb::DeviceHandle) -> libusb::Result<()> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 5.19s
[INFO] running `Command { std: "docker" "inspect" "a2a9645bbf55ccea5d3b68b9a7cf14d4cb1044e0eaf2c9cc23f3a17d345825f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a2a9645bbf55ccea5d3b68b9a7cf14d4cb1044e0eaf2c9cc23f3a17d345825f2", kill_on_drop: false }`
[INFO] [stdout] a2a9645bbf55ccea5d3b68b9a7cf14d4cb1044e0eaf2c9cc23f3a17d345825f2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c4880fb2a3dfe630747ae0a625f847863ed3ed13852db9454f4d518e4f5c2f5e
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "c4880fb2a3dfe630747ae0a625f847863ed3ed13852db9454f4d518e4f5c2f5e", kill_on_drop: false }`
[INFO] [stderr]    Compiling inlprogalt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/buffer.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     proto::buffer::ALLOCATE_BUFFER0.call(handle, (buff_0_id<<8)|buff_0_base_bank, numbanks)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(const_item_mutation)]` on by default
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:55:1
[INFO] [stdout]    |
[INFO] [stdout] 55 | / pub const ALLOCATE_BUFFER0: Operation = Operation {
[INFO] [stdout] 56 | |     direction: libusb::Direction::In,
[INFO] [stdout] 57 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 58 | |     value: 0x80,
[INFO] [stdout] 59 | |     length: 1
[INFO] [stdout] 60 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/buffer.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     proto::buffer::ALLOCATE_BUFFER1.call(handle, (buff_1_id<<8)|buff_1_base_bank, numbanks)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | / pub const ALLOCATE_BUFFER1: Operation = Operation {
[INFO] [stdout] 63 | |     direction: libusb::Direction::In,
[INFO] [stdout] 64 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 65 | |     value: 0x81,
[INFO] [stdout] 66 | |     length: 1
[INFO] [stdout] 67 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/buffer.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     proto::buffer::SET_RELOAD_PAGENUM0.call(handle, buff_0_firstpage, reload)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | / pub const SET_RELOAD_PAGENUM0: Operation = Operation {
[INFO] [stdout] 70 | |     direction: libusb::Direction::In,
[INFO] [stdout] 71 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 72 | |     value: 0x90,
[INFO] [stdout] 73 | |     length: 1
[INFO] [stdout] 74 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/buffer.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     proto::buffer::SET_RELOAD_PAGENUM1.call(handle, buff_1_firstpage, reload)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | / pub const SET_RELOAD_PAGENUM1: Operation = Operation {
[INFO] [stdout] 77 | |     direction: libusb::Direction::In,
[INFO] [stdout] 78 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 79 | |     value: 0x91,
[INFO] [stdout] 80 | |     length: 1
[INFO] [stdout] 81 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 7  |     proto::operation::SET_OPERATION.call(handle, proto::buffer::RESET, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/operation.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / pub const SET_OPERATION: Operation = Operation {
[INFO] [stdout] 7  | |     direction: libusb::Direction::In,
[INFO] [stdout] 8  | |     request: REQUEST_OPER,
[INFO] [stdout] 9  | |     value: 0x0,
[INFO] [stdout] 10 | |     length: 1
[INFO] [stdout] 11 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 8  |     proto::buffer::RAW_BUFFER_RESET.call(handle, 0, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / pub const RAW_BUFFER_RESET: Operation = Operation {
[INFO] [stdout] 21 | |     direction: libusb::Direction::In,
[INFO] [stdout] 22 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 23 | |     value: 0x0,
[INFO] [stdout] 24 | |     length: 1
[INFO] [stdout] 25 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     proto::buffer::SET_MEM_N_PART.call(handle, mem<<8|proto::buffer::MASKROM, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | / pub const SET_MEM_N_PART: Operation = Operation {
[INFO] [stdout] 28 | |     direction: libusb::Direction::In,
[INFO] [stdout] 29 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 30 | |     value: 0x30,
[INFO] [stdout] 31 | |     length: 1
[INFO] [stdout] 32 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     proto::buffer::SET_MEM_N_PART.call(handle, mem<<8|proto::buffer::MASKROM, 1)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | / pub const SET_MEM_N_PART: Operation = Operation {
[INFO] [stdout] 28 | |     direction: libusb::Direction::In,
[INFO] [stdout] 29 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 30 | |     value: 0x30,
[INFO] [stdout] 31 | |     length: 1
[INFO] [stdout] 32 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     proto::buffer::SET_MAP_N_MAPVAR.call(handle, map<<8|proto::buffer::NOVAR, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / pub const SET_MAP_N_MAPVAR: Operation = Operation {
[INFO] [stdout] 35 | |     direction: libusb::Direction::In,
[INFO] [stdout] 36 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 37 | |     value: 0x32,
[INFO] [stdout] 38 | |     length: 1
[INFO] [stdout] 39 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     proto::buffer::SET_MAP_N_MAPVAR.call(handle, map<<8|proto::buffer::NOVAR, 1)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / pub const SET_MAP_N_MAPVAR: Operation = Operation {
[INFO] [stdout] 35 | |     direction: libusb::Direction::In,
[INFO] [stdout] 36 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 37 | |     value: 0x32,
[INFO] [stdout] 38 | |     length: 1
[INFO] [stdout] 39 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     proto::operation::SET_OPERATION.call(handle, proto::buffer::STARTDUMP, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/operation.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / pub const SET_OPERATION: Operation = Operation {
[INFO] [stdout] 7  | |     direction: libusb::Direction::In,
[INFO] [stdout] 8  | |     request: REQUEST_OPER,
[INFO] [stdout] 9  | |     value: 0x0,
[INFO] [stdout] 10 | |     length: 1
[INFO] [stdout] 11 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:28:35
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let mut cur_buff_status = proto::buffer::GET_CUR_BUFF_STATUS.call(handle, 0, 0)?[2];
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | / pub const GET_CUR_BUFF_STATUS: Operation = Operation {
[INFO] [stdout] 42 | |     direction: libusb::Direction::In,
[INFO] [stdout] 43 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 44 | |     value: 0x61,
[INFO] [stdout] 45 | |     length: 3
[INFO] [stdout] 46 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:33:25
[INFO] [stdout]    |
[INFO] [stdout] 33 |         out.append(&mut proto::buffer::BUFF_PAYLOAD.call(handle, 0, 0)?);
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | / pub const BUFF_PAYLOAD: Operation = Operation {
[INFO] [stdout] 49 | |     direction: libusb::Direction::In,
[INFO] [stdout] 50 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 51 | |     value: 0x70,
[INFO] [stdout] 52 | |     length: 128
[INFO] [stdout] 53 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/util.rs:31:31
[INFO] [stdout]    |
[INFO] [stdout] 31 |             cur_buff_status = proto::buffer::GET_CUR_BUFF_STATUS.call(handle, 0, 0)?[2];
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/buffer.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | / pub const GET_CUR_BUFF_STATUS: Operation = Operation {
[INFO] [stdout] 42 | |     direction: libusb::Direction::In,
[INFO] [stdout] 43 | |     request: REQUEST_BUFFER,
[INFO] [stdout] 44 | |     value: 0x61,
[INFO] [stdout] 45 | |     length: 3
[INFO] [stdout] 46 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/genesis.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 8  |     proto::io::IO_RESET.call(handle, 0, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/io.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub const IO_RESET: Operation = Operation {
[INFO] [stdout] 16 | |     direction: libusb::Direction::In,
[INFO] [stdout] 17 | |     request: REQUEST_IO,
[INFO] [stdout] 18 | |     value: 0,
[INFO] [stdout] 19 | |     length: 1
[INFO] [stdout] 20 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/genesis.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 9  |     proto::io::SEGA_INIT.call(handle, 0, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/io.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / pub const SEGA_INIT: Operation = Operation {
[INFO] [stdout] 23 | |     direction: libusb::Direction::In,
[INFO] [stdout] 24 | |     request: REQUEST_IO,
[INFO] [stdout] 25 | |     value: 7,
[INFO] [stdout] 26 | |     length: 1
[INFO] [stdout] 27 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/genesis.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     proto::io::IO_RESET.call(handle, 0, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/io.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub const IO_RESET: Operation = Operation {
[INFO] [stdout] 16 | |     direction: libusb::Direction::In,
[INFO] [stdout] 17 | |     request: REQUEST_IO,
[INFO] [stdout] 18 | |     value: 0,
[INFO] [stdout] 19 | |     length: 1
[INFO] [stdout] 20 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/genesis.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         proto::sega::SET_BANK.call(handle, read_count, 0)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/sega.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / pub const SET_BANK: Operation = Operation {
[INFO] [stdout] 7  | |     direction: libusb::Direction::In,
[INFO] [stdout] 8  | |     request: REQUEST_SEGA,
[INFO] [stdout] 9  | |     value: 2,
[INFO] [stdout] 10 | |     length: 1
[INFO] [stdout] 11 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/n64.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 8  |     proto::io::IO_RESET.call(handle, 0, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/io.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub const IO_RESET: Operation = Operation {
[INFO] [stdout] 16 | |     direction: libusb::Direction::In,
[INFO] [stdout] 17 | |     request: REQUEST_IO,
[INFO] [stdout] 18 | |     value: 0,
[INFO] [stdout] 19 | |     length: 1
[INFO] [stdout] 20 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/n64.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 9  |     proto::io::N64_INIT.call(handle, 0, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/io.rs:29:1
[INFO] [stdout]    |
[INFO] [stdout] 29 | / pub const N64_INIT: Operation = Operation {
[INFO] [stdout] 30 | |     direction: libusb::Direction::In,
[INFO] [stdout] 31 | |     request: REQUEST_IO,
[INFO] [stdout] 32 | |     value: 8,
[INFO] [stdout] 33 | |     length: 1
[INFO] [stdout] 34 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/n64.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     proto::io::IO_RESET.call(handle, 0, 0)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/io.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub const IO_RESET: Operation = Operation {
[INFO] [stdout] 16 | |     direction: libusb::Direction::In,
[INFO] [stdout] 17 | |     request: REQUEST_IO,
[INFO] [stdout] 18 | |     value: 0,
[INFO] [stdout] 19 | |     length: 1
[INFO] [stdout] 20 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/n64.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         proto::n64::N64_SET_BANK.call(handle, BANK_BASE+read_count, 0)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/n64.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout] 7  | / pub const N64_SET_BANK: Operation = Operation {
[INFO] [stdout] 8  | |     direction: libusb::Direction::In,
[INFO] [stdout] 9  | |     request: REQUEST_N64,
[INFO] [stdout] 10 | |     value: 2,
[INFO] [stdout] 11 | |     length: 1
[INFO] [stdout] 12 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: taking a mutable reference to a `const` item
[INFO] [stdout]   --> src/n64.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         proto::n64::N64_RELEASE_BUS.call(handle, 0, 0)?;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: each usage of a `const` item creates a new temporary
[INFO] [stdout]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stdout] note: mutable reference created due to call to this method
[INFO] [stdout]   --> src/proto/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `const` item defined here
[INFO] [stdout]   --> src/proto/n64.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub const N64_RELEASE_BUS: Operation = Operation {
[INFO] [stdout] 16 | |     direction: libusb::Direction::In,
[INFO] [stdout] 17 | |     request: REQUEST_N64,
[INFO] [stdout] 18 | |     value: 4,
[INFO] [stdout] 19 | |     length: 1
[INFO] [stdout] 20 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `SEGA_INIT`
[INFO] [stdout]   --> src/proto/io.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / pub const SEGA_INIT: Operation = Operation {
[INFO] [stdout] 23 | |     direction: libusb::Direction::In,
[INFO] [stdout] 24 | |     request: REQUEST_IO,
[INFO] [stdout] 25 | |     value: 7,
[INFO] [stdout] 26 | |     length: 1
[INFO] [stdout] 27 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `GENESIS_ROM_PAGE0`
[INFO] [stdout]  --> src/proto/buffer.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const GENESIS_ROM_PAGE0: u16 = 0x28;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `GENESIS_ROM_PAGE1`
[INFO] [stdout]  --> src/proto/buffer.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const GENESIS_ROM_PAGE1: u16 = 0x29;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `DUMPING`
[INFO] [stdout]   --> src/proto/buffer.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const DUMPING: u16 = 0xD0;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `REQUEST_SEGA`
[INFO] [stdout]  --> src/proto/sega.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | const REQUEST_SEGA: u8 = 14;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `SET_BANK`
[INFO] [stdout]   --> src/proto/sega.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / pub const SET_BANK: Operation = Operation {
[INFO] [stdout] 7  | |     direction: libusb::Direction::In,
[INFO] [stdout] 8  | |     request: REQUEST_SEGA,
[INFO] [stdout] 9  | |     value: 2,
[INFO] [stdout] 10 | |     length: 1
[INFO] [stdout] 11 | | };
[INFO] [stdout]    | |__^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `process`
[INFO] [stdout]  --> src/genesis.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn process(handle: &libusb::DeviceHandle) -> libusb::Result<()> {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `dump_rom`
[INFO] [stdout]   --> src/genesis.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn dump_rom(handle: &libusb::DeviceHandle) -> libusb::Result<()> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.99s
[INFO] running `Command { std: "docker" "inspect" "c4880fb2a3dfe630747ae0a625f847863ed3ed13852db9454f4d518e4f5c2f5e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4880fb2a3dfe630747ae0a625f847863ed3ed13852db9454f4d518e4f5c2f5e", kill_on_drop: false }`
[INFO] [stdout] c4880fb2a3dfe630747ae0a625f847863ed3ed13852db9454f4d518e4f5c2f5e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5adf7f19e59795558456277c9c7db5549dc6a17fece7a538147390c39c6ebd3d
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "5adf7f19e59795558456277c9c7db5549dc6a17fece7a538147390c39c6ebd3d", kill_on_drop: false }`
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/buffer.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 30 |     proto::buffer::ALLOCATE_BUFFER0.call(handle, (buff_0_id<<8)|buff_0_base_bank, numbanks)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(const_item_mutation)]` on by default
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/buffer.rs:55:1
[INFO] [stderr]    |
[INFO] [stderr] 55 | / pub const ALLOCATE_BUFFER0: Operation = Operation {
[INFO] [stderr] 56 | |     direction: libusb::Direction::In,
[INFO] [stderr] 57 | |     request: REQUEST_BUFFER,
[INFO] [stderr] 58 | |     value: 0x80,
[INFO] [stderr] 59 | |     length: 1
[INFO] [stderr] 60 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/buffer.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 31 |     proto::buffer::ALLOCATE_BUFFER1.call(handle, (buff_1_id<<8)|buff_1_base_bank, numbanks)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/buffer.rs:62:1
[INFO] [stderr]    |
[INFO] [stderr] 62 | / pub const ALLOCATE_BUFFER1: Operation = Operation {
[INFO] [stderr] 63 | |     direction: libusb::Direction::In,
[INFO] [stderr] 64 | |     request: REQUEST_BUFFER,
[INFO] [stderr] 65 | |     value: 0x81,
[INFO] [stderr] 66 | |     length: 1
[INFO] [stderr] 67 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/buffer.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 33 |     proto::buffer::SET_RELOAD_PAGENUM0.call(handle, buff_0_firstpage, reload)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/buffer.rs:69:1
[INFO] [stderr]    |
[INFO] [stderr] 69 | / pub const SET_RELOAD_PAGENUM0: Operation = Operation {
[INFO] [stderr] 70 | |     direction: libusb::Direction::In,
[INFO] [stderr] 71 | |     request: REQUEST_BUFFER,
[INFO] [stderr] 72 | |     value: 0x90,
[INFO] [stderr] 73 | |     length: 1
[INFO] [stderr] 74 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/buffer.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     proto::buffer::SET_RELOAD_PAGENUM1.call(handle, buff_1_firstpage, reload)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/buffer.rs:76:1
[INFO] [stderr]    |
[INFO] [stderr] 76 | / pub const SET_RELOAD_PAGENUM1: Operation = Operation {
[INFO] [stderr] 77 | |     direction: libusb::Direction::In,
[INFO] [stderr] 78 | |     request: REQUEST_BUFFER,
[INFO] [stderr] 79 | |     value: 0x91,
[INFO] [stderr] 80 | |     length: 1
[INFO] [stderr] 81 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/util.rs:7:5
[INFO] [stderr]    |
[INFO] [stderr] 7  |     proto::operation::SET_OPERATION.call(handle, proto::buffer::RESET, 0)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/operation.rs:6:1
[INFO] [stderr]    |
[INFO] [stderr] 6  | / pub const SET_OPERATION: Operation = Operation {
[INFO] [stderr] 7  | |     direction: libusb::Direction::In,
[INFO] [stderr] 8  | |     request: REQUEST_OPER,
[INFO] [stderr] 9  | |     value: 0x0,
[INFO] [stderr] 10 | |     length: 1
[INFO] [stderr] 11 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/util.rs:8:5
[INFO] [stderr]    |
[INFO] [stderr] 8  |     proto::buffer::RAW_BUFFER_RESET.call(handle, 0, 0)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/buffer.rs:20:1
[INFO] [stderr]    |
[INFO] [stderr] 20 | / pub const RAW_BUFFER_RESET: Operation = Operation {
[INFO] [stderr] 21 | |     direction: libusb::Direction::In,
[INFO] [stderr] 22 | |     request: REQUEST_BUFFER,
[INFO] [stderr] 23 | |     value: 0x0,
[INFO] [stderr] 24 | |     length: 1
[INFO] [stderr] 25 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/util.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     proto::buffer::SET_MEM_N_PART.call(handle, mem<<8|proto::buffer::MASKROM, 0)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/buffer.rs:27:1
[INFO] [stderr]    |
[INFO] [stderr] 27 | / pub const SET_MEM_N_PART: Operation = Operation {
[INFO] [stderr] 28 | |     direction: libusb::Direction::In,
[INFO] [stderr] 29 | |     request: REQUEST_BUFFER,
[INFO] [stderr] 30 | |     value: 0x30,
[INFO] [stderr] 31 | |     length: 1
[INFO] [stderr] 32 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/util.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     proto::buffer::SET_MEM_N_PART.call(handle, mem<<8|proto::buffer::MASKROM, 1)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/buffer.rs:27:1
[INFO] [stderr]    |
[INFO] [stderr] 27 | / pub const SET_MEM_N_PART: Operation = Operation {
[INFO] [stderr] 28 | |     direction: libusb::Direction::In,
[INFO] [stderr] 29 | |     request: REQUEST_BUFFER,
[INFO] [stderr] 30 | |     value: 0x30,
[INFO] [stderr] 31 | |     length: 1
[INFO] [stderr] 32 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/util.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     proto::buffer::SET_MAP_N_MAPVAR.call(handle, map<<8|proto::buffer::NOVAR, 0)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/buffer.rs:34:1
[INFO] [stderr]    |
[INFO] [stderr] 34 | / pub const SET_MAP_N_MAPVAR: Operation = Operation {
[INFO] [stderr] 35 | |     direction: libusb::Direction::In,
[INFO] [stderr] 36 | |     request: REQUEST_BUFFER,
[INFO] [stderr] 37 | |     value: 0x32,
[INFO] [stderr] 38 | |     length: 1
[INFO] [stderr] 39 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/util.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     proto::buffer::SET_MAP_N_MAPVAR.call(handle, map<<8|proto::buffer::NOVAR, 1)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/buffer.rs:34:1
[INFO] [stderr]    |
[INFO] [stderr] 34 | / pub const SET_MAP_N_MAPVAR: Operation = Operation {
[INFO] [stderr] 35 | |     direction: libusb::Direction::In,
[INFO] [stderr] 36 | |     request: REQUEST_BUFFER,
[INFO] [stderr] 37 | |     value: 0x32,
[INFO] [stderr] 38 | |     length: 1
[INFO] [stderr] 39 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/util.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     proto::operation::SET_OPERATION.call(handle, proto::buffer::STARTDUMP, 0)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/operation.rs:6:1
[INFO] [stderr]    |
[INFO] [stderr] 6  | / pub const SET_OPERATION: Operation = Operation {
[INFO] [stderr] 7  | |     direction: libusb::Direction::In,
[INFO] [stderr] 8  | |     request: REQUEST_OPER,
[INFO] [stderr] 9  | |     value: 0x0,
[INFO] [stderr] 10 | |     length: 1
[INFO] [stderr] 11 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/util.rs:28:35
[INFO] [stderr]    |
[INFO] [stderr] 28 |         let mut cur_buff_status = proto::buffer::GET_CUR_BUFF_STATUS.call(handle, 0, 0)?[2];
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/buffer.rs:41:1
[INFO] [stderr]    |
[INFO] [stderr] 41 | / pub const GET_CUR_BUFF_STATUS: Operation = Operation {
[INFO] [stderr] 42 | |     direction: libusb::Direction::In,
[INFO] [stderr] 43 | |     request: REQUEST_BUFFER,
[INFO] [stderr] 44 | |     value: 0x61,
[INFO] [stderr] 45 | |     length: 3
[INFO] [stderr] 46 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/util.rs:33:25
[INFO] [stderr]    |
[INFO] [stderr] 33 |         out.append(&mut proto::buffer::BUFF_PAYLOAD.call(handle, 0, 0)?);
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/buffer.rs:48:1
[INFO] [stderr]    |
[INFO] [stderr] 48 | / pub const BUFF_PAYLOAD: Operation = Operation {
[INFO] [stderr] 49 | |     direction: libusb::Direction::In,
[INFO] [stderr] 50 | |     request: REQUEST_BUFFER,
[INFO] [stderr] 51 | |     value: 0x70,
[INFO] [stderr] 52 | |     length: 128
[INFO] [stderr] 53 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/util.rs:31:31
[INFO] [stderr]    |
[INFO] [stderr] 31 |             cur_buff_status = proto::buffer::GET_CUR_BUFF_STATUS.call(handle, 0, 0)?[2];
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/buffer.rs:41:1
[INFO] [stderr]    |
[INFO] [stderr] 41 | / pub const GET_CUR_BUFF_STATUS: Operation = Operation {
[INFO] [stderr] 42 | |     direction: libusb::Direction::In,
[INFO] [stderr] 43 | |     request: REQUEST_BUFFER,
[INFO] [stderr] 44 | |     value: 0x61,
[INFO] [stderr] 45 | |     length: 3
[INFO] [stderr] 46 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/genesis.rs:8:5
[INFO] [stderr]    |
[INFO] [stderr] 8  |     proto::io::IO_RESET.call(handle, 0, 0)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/io.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | / pub const IO_RESET: Operation = Operation {
[INFO] [stderr] 16 | |     direction: libusb::Direction::In,
[INFO] [stderr] 17 | |     request: REQUEST_IO,
[INFO] [stderr] 18 | |     value: 0,
[INFO] [stderr] 19 | |     length: 1
[INFO] [stderr] 20 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/genesis.rs:9:5
[INFO] [stderr]    |
[INFO] [stderr] 9  |     proto::io::SEGA_INIT.call(handle, 0, 0)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/io.rs:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | / pub const SEGA_INIT: Operation = Operation {
[INFO] [stderr] 23 | |     direction: libusb::Direction::In,
[INFO] [stderr] 24 | |     request: REQUEST_IO,
[INFO] [stderr] 25 | |     value: 7,
[INFO] [stderr] 26 | |     length: 1
[INFO] [stderr] 27 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/genesis.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     proto::io::IO_RESET.call(handle, 0, 0)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/io.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | / pub const IO_RESET: Operation = Operation {
[INFO] [stderr] 16 | |     direction: libusb::Direction::In,
[INFO] [stderr] 17 | |     request: REQUEST_IO,
[INFO] [stderr] 18 | |     value: 0,
[INFO] [stderr] 19 | |     length: 1
[INFO] [stderr] 20 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/genesis.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 37 |         proto::sega::SET_BANK.call(handle, read_count, 0)?;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/sega.rs:6:1
[INFO] [stderr]    |
[INFO] [stderr] 6  | / pub const SET_BANK: Operation = Operation {
[INFO] [stderr] 7  | |     direction: libusb::Direction::In,
[INFO] [stderr] 8  | |     request: REQUEST_SEGA,
[INFO] [stderr] 9  | |     value: 2,
[INFO] [stderr] 10 | |     length: 1
[INFO] [stderr] 11 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/n64.rs:8:5
[INFO] [stderr]    |
[INFO] [stderr] 8  |     proto::io::IO_RESET.call(handle, 0, 0)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/io.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | / pub const IO_RESET: Operation = Operation {
[INFO] [stderr] 16 | |     direction: libusb::Direction::In,
[INFO] [stderr] 17 | |     request: REQUEST_IO,
[INFO] [stderr] 18 | |     value: 0,
[INFO] [stderr] 19 | |     length: 1
[INFO] [stderr] 20 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/n64.rs:9:5
[INFO] [stderr]    |
[INFO] [stderr] 9  |     proto::io::N64_INIT.call(handle, 0, 0)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/io.rs:29:1
[INFO] [stderr]    |
[INFO] [stderr] 29 | / pub const N64_INIT: Operation = Operation {
[INFO] [stderr] 30 | |     direction: libusb::Direction::In,
[INFO] [stderr] 31 | |     request: REQUEST_IO,
[INFO] [stderr] 32 | |     value: 8,
[INFO] [stderr] 33 | |     length: 1
[INFO] [stderr] 34 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/n64.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     proto::io::IO_RESET.call(handle, 0, 0)?;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/io.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | / pub const IO_RESET: Operation = Operation {
[INFO] [stderr] 16 | |     direction: libusb::Direction::In,
[INFO] [stderr] 17 | |     request: REQUEST_IO,
[INFO] [stderr] 18 | |     value: 0,
[INFO] [stderr] 19 | |     length: 1
[INFO] [stderr] 20 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/n64.rs:39:9
[INFO] [stderr]    |
[INFO] [stderr] 39 |         proto::n64::N64_SET_BANK.call(handle, BANK_BASE+read_count, 0)?;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/n64.rs:7:1
[INFO] [stderr]    |
[INFO] [stderr] 7  | / pub const N64_SET_BANK: Operation = Operation {
[INFO] [stderr] 8  | |     direction: libusb::Direction::In,
[INFO] [stderr] 9  | |     request: REQUEST_N64,
[INFO] [stderr] 10 | |     value: 2,
[INFO] [stderr] 11 | |     length: 1
[INFO] [stderr] 12 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: taking a mutable reference to a `const` item
[INFO] [stderr]   --> src/n64.rs:43:9
[INFO] [stderr]    |
[INFO] [stderr] 43 |         proto::n64::N64_RELEASE_BUS.call(handle, 0, 0)?;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: each usage of a `const` item creates a new temporary
[INFO] [stderr]    = note: the mutable reference will refer to this temporary, not the original `const` item
[INFO] [stderr] note: mutable reference created due to call to this method
[INFO] [stderr]   --> src/proto/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub fn call(&mut self, handle: &libusb::DeviceHandle, operand: u16, misc: u16) -> libusb::Result<Vec<u8>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] note: `const` item defined here
[INFO] [stderr]   --> src/proto/n64.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | / pub const N64_RELEASE_BUS: Operation = Operation {
[INFO] [stderr] 16 | |     direction: libusb::Direction::In,
[INFO] [stderr] 17 | |     request: REQUEST_N64,
[INFO] [stderr] 18 | |     value: 4,
[INFO] [stderr] 19 | |     length: 1
[INFO] [stderr] 20 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `SEGA_INIT`
[INFO] [stderr]   --> src/proto/io.rs:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | / pub const SEGA_INIT: Operation = Operation {
[INFO] [stderr] 23 | |     direction: libusb::Direction::In,
[INFO] [stderr] 24 | |     request: REQUEST_IO,
[INFO] [stderr] 25 | |     value: 7,
[INFO] [stderr] 26 | |     length: 1
[INFO] [stderr] 27 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `GENESIS_ROM_PAGE0`
[INFO] [stderr]  --> src/proto/buffer.rs:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub const GENESIS_ROM_PAGE0: u16 = 0x28;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `GENESIS_ROM_PAGE1`
[INFO] [stderr]  --> src/proto/buffer.rs:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const GENESIS_ROM_PAGE1: u16 = 0x29;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `DUMPING`
[INFO] [stderr]   --> src/proto/buffer.rs:16:1
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub const DUMPING: u16 = 0xD0;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `REQUEST_SEGA`
[INFO] [stderr]  --> src/proto/sega.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | const REQUEST_SEGA: u8 = 14;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `SET_BANK`
[INFO] [stderr]   --> src/proto/sega.rs:6:1
[INFO] [stderr]    |
[INFO] [stderr] 6  | / pub const SET_BANK: Operation = Operation {
[INFO] [stderr] 7  | |     direction: libusb::Direction::In,
[INFO] [stderr] 8  | |     request: REQUEST_SEGA,
[INFO] [stderr] 9  | |     value: 2,
[INFO] [stderr] 10 | |     length: 1
[INFO] [stderr] 11 | | };
[INFO] [stderr]    | |__^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `process`
[INFO] [stderr]  --> src/genesis.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn process(handle: &libusb::DeviceHandle) -> libusb::Result<()> {
[INFO] [stderr]   |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `dump_rom`
[INFO] [stderr]   --> src/genesis.rs:20:4
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn dump_rom(handle: &libusb::DeviceHandle) -> libusb::Result<()> {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 31 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/inlprogalt-e7e5a9cdeeea7dd7
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5adf7f19e59795558456277c9c7db5549dc6a17fece7a538147390c39c6ebd3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5adf7f19e59795558456277c9c7db5549dc6a17fece7a538147390c39c6ebd3d", kill_on_drop: false }`
[INFO] [stdout] 5adf7f19e59795558456277c9c7db5549dc6a17fece7a538147390c39c6ebd3d
