[INFO] cloning repository https://github.com/Zack-Fisher/nesos [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Zack-Fisher/nesos" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZack-Fisher%2Fnesos", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZack-Fisher%2Fnesos'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9a50667d73748c12bbc6f195d6f4c4de28e355b6 [INFO] checking Zack-Fisher/nesos/9a50667d73748c12bbc6f195d6f4c4de28e355b6 against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZack-Fisher%2Fnesos" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Zack-Fisher/nesos on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/Zack-Fisher/nesos [INFO] finished tweaking git repo https://github.com/Zack-Fisher/nesos [INFO] tweaked toml for git repo https://github.com/Zack-Fisher/nesos written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Zack-Fisher/nesos already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded conquer-util v0.3.0 [INFO] [stderr] Downloaded volatile v0.4.6 [INFO] [stderr] Downloaded conquer-once v0.3.2 [INFO] [stderr] Downloaded vga v0.2.8 [INFO] [stderr] Downloaded linked_list_allocator v0.9.1 [INFO] [stderr] Downloaded runes v0.2.5 [INFO] [stderr] Downloaded spinning_top v0.2.5 [INFO] [stderr] Downloaded pic8259 v0.10.4 [INFO] [stderr] Downloaded font8x8 v0.3.1 [INFO] [stderr] Downloaded uart_16550 v0.2.18 [INFO] [stderr] Downloaded bootloader v0.9.23 [INFO] [stderr] Downloaded rustversion v1.0.12 [INFO] [stderr] Downloaded x86_64 v0.14.10 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5a49fc0883ab95af87a287abf70065bf77088a358a9c962690d56bde3957e027 [INFO] running `Command { std: "docker" "start" "-a" "5a49fc0883ab95af87a287abf70065bf77088a358a9c962690d56bde3957e027", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5a49fc0883ab95af87a287abf70065bf77088a358a9c962690d56bde3957e027", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5a49fc0883ab95af87a287abf70065bf77088a358a9c962690d56bde3957e027", kill_on_drop: false }` [INFO] [stdout] 5a49fc0883ab95af87a287abf70065bf77088a358a9c962690d56bde3957e027 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2edda01279f08e26c0b2789bf21243da360835b7664f7da10050643b5f51d4aa [INFO] running `Command { std: "docker" "start" "-a" "2edda01279f08e26c0b2789bf21243da360835b7664f7da10050643b5f51d4aa", kill_on_drop: false }` [INFO] [stderr] Compiling rustversion v1.0.12 [INFO] [stderr] Compiling lock_api v0.4.9 [INFO] [stderr] Checking volatile v0.4.6 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling bootloader v0.9.23 [INFO] [stderr] Checking conquer-util v0.3.0 [INFO] [stderr] Checking font8x8 v0.3.1 [INFO] [stderr] Checking conquer-once v0.3.2 [INFO] [stderr] Checking volatile v0.2.7 [INFO] [stderr] Checking pc-keyboard v0.5.1 [INFO] [stderr] Checking runes v0.2.5 [INFO] [stderr] Checking spinning_top v0.2.5 [INFO] [stderr] Checking linked_list_allocator v0.9.1 [INFO] [stderr] Checking x86_64 v0.14.10 [INFO] [stderr] Checking uart_16550 v0.2.18 [INFO] [stderr] Checking pic8259 v0.10.4 [INFO] [stderr] Checking vga v0.2.8 [INFO] [stderr] Checking nesos v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `frame` [INFO] [stdout] --> src/allocator.rs:2:87 [INFO] [stdout] | [INFO] [stdout] 2 | use x86_64::{structures::paging::{FrameAllocator, Size4KiB, mapper::MapToError, Page, frame, PageTableFlags, Mapper}, VirtAddr}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `linked_list_allocator::LockedHeap` [INFO] [stdout] --> src/allocator.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use linked_list_allocator::LockedHeap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::println` [INFO] [stdout] --> src/memory.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::println; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `page_table` and `page` [INFO] [stdout] --> src/memory.rs:7:43 [INFO] [stdout] | [INFO] [stdout] 7 | structures::paging::{PageTable, Page, page, page_table, OffsetPageTable, FrameAllocator, Size4KiB, PhysFrame, Mapper}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Keyboard`, `ScancodeSet1`, and `layouts` [INFO] [stdout] --> src/emulation/construct.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | use pc_keyboard::{Keyboard, layouts, ScancodeSet1}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `spin::Mutex` [INFO] [stdout] --> src/emulation/construct.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use spin::Mutex; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::vga_buffer::Color` [INFO] [stdout] --> src/emulation/construct.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::vga_buffer::Color; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InputPoller` [INFO] [stdout] --> src/emulation/mod.rs:8:33 [INFO] [stdout] | [INFO] [stdout] 8 | use runes::controller::{stdctl, InputPoller}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::mem::transmute` [INFO] [stdout] --> src/emulation/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use core::mem::transmute; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::convert::TryInto` [INFO] [stdout] --> src/time.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `println` [INFO] [stdout] --> src/time.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{println, print}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InterruptDescriptorTable` and `InterruptStackFrame` [INFO] [stdout] --> src/registers.rs:3:31 [INFO] [stdout] | [INFO] [stdout] 3 | use x86_64::structures::idt::{InterruptDescriptorTable, InterruptStackFrame}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::println` [INFO] [stdout] --> src/sound/pc_speaker.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::println; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch::asm` [INFO] [stdout] --> src/vga_help.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::arch::asm; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `vga_draw::draw_line` [INFO] [stdout] --> src/vga_help.rs:5:22 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{println, vga_draw::draw_line}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::iter::Chain` [INFO] [stdout] --> src/interrupts.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::iter::Chain; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `print` [INFO] [stdout] --> src/interrupts.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{print, println, vga_help, registers, time::tick}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch::asm` [INFO] [stdout] --> src/interrupts.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | use core::arch::asm; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `print` [INFO] [stdout] --> src/keyboard.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{print, println}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x86_64::instructions::port::Port` [INFO] [stdout] --> src/keyboard.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use x86_64::instructions::port::Port; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `frame` [INFO] [stdout] --> src/allocator.rs:2:87 [INFO] [stdout] | [INFO] [stdout] 2 | use x86_64::{structures::paging::{FrameAllocator, Size4KiB, mapper::MapToError, Page, frame, PageTableFlags, Mapper}, VirtAddr}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `linked_list_allocator::LockedHeap` [INFO] [stdout] --> src/allocator.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use linked_list_allocator::LockedHeap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::println` [INFO] [stdout] --> src/memory.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::println; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `page_table` and `page` [INFO] [stdout] --> src/memory.rs:7:43 [INFO] [stdout] | [INFO] [stdout] 7 | structures::paging::{PageTable, Page, page, page_table, OffsetPageTable, FrameAllocator, Size4KiB, PhysFrame, Mapper}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Keyboard`, `ScancodeSet1`, and `layouts` [INFO] [stdout] --> src/emulation/construct.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | use pc_keyboard::{Keyboard, layouts, ScancodeSet1}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `spin::Mutex` [INFO] [stdout] --> src/emulation/construct.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use spin::Mutex; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::vga_buffer::Color` [INFO] [stdout] --> src/emulation/construct.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::vga_buffer::Color; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InputPoller` [INFO] [stdout] --> src/emulation/mod.rs:8:33 [INFO] [stdout] | [INFO] [stdout] 8 | use runes::controller::{stdctl, InputPoller}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::mem::transmute` [INFO] [stdout] --> src/emulation/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use core::mem::transmute; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::convert::TryInto` [INFO] [stdout] --> src/time.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::convert::TryInto; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `println` [INFO] [stdout] --> src/time.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{println, print}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `InterruptDescriptorTable` and `InterruptStackFrame` [INFO] [stdout] --> src/registers.rs:3:31 [INFO] [stdout] | [INFO] [stdout] 3 | use x86_64::structures::idt::{InterruptDescriptorTable, InterruptStackFrame}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::println` [INFO] [stdout] --> src/sound/pc_speaker.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::println; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch::asm` [INFO] [stdout] --> src/vga_help.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::arch::asm; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `vga_draw::draw_line` [INFO] [stdout] --> src/vga_help.rs:5:22 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{println, vga_draw::draw_line}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::iter::Chain` [INFO] [stdout] --> src/interrupts.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::iter::Chain; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `print` [INFO] [stdout] --> src/interrupts.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::{print, println, vga_help, registers, time::tick}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch::asm` [INFO] [stdout] --> src/interrupts.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | use core::arch::asm; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `print` [INFO] [stdout] --> src/keyboard.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::{print, println}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x86_64::instructions::port::Port` [INFO] [stdout] --> src/keyboard.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use x86_64::instructions::port::Port; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unwinding panics are not supported without std [INFO] [stdout] | [INFO] [stdout] = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding [INFO] [stdout] = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/gdt.rs:59:58 [INFO] [stdout] | [INFO] [stdout] 59 | let stack_start = VirtAddr::from_ptr(unsafe {&STACK}); [INFO] [stdout] | ^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 59 | let stack_start = VirtAddr::from_ptr(unsafe {addr_of!(STACK)}); [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `layout` [INFO] [stdout] --> src/allocator.rs:50:28 [INFO] [stdout] | [INFO] [stdout] 50 | unsafe fn alloc(&self, layout: Layout) -> *mut u8 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ptr` [INFO] [stdout] --> src/allocator.rs:55:30 [INFO] [stdout] | [INFO] [stdout] 55 | unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ptr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `layout` [INFO] [stdout] --> src/allocator.rs:55:44 [INFO] [stdout] | [INFO] [stdout] 55 | unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/allocator.rs:71:40 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn init(&mut self, start: u64, size: u64) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ptr` [INFO] [stdout] --> src/allocator.rs:92:30 [INFO] [stdout] | [INFO] [stdout] 92 | unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ptr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `layout` [INFO] [stdout] --> src/allocator.rs:92:44 [INFO] [stdout] | [INFO] [stdout] 92 | unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `color` [INFO] [stdout] --> src/emulation/construct.rs:65:20 [INFO] [stdout] | [INFO] [stdout] 65 | fn color16_from_u8(color: u8) -> Color16 [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample` [INFO] [stdout] --> src/emulation/construct.rs:77:25 [INFO] [stdout] | [INFO] [stdout] 77 | fn queue(&mut self, sample: i16) [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] 153 | K => stdctl::DOWN, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] 153 | K => stdctl::DOWN, [INFO] [stdout] 154 | J => stdctl::LEFT, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 155 | L => stdctl::RIGHT, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 156 | Z => stdctl::A, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 157 | X => stdctl::B, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 158 | Return => stdctl::START, [INFO] [stdout] | ^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 159 | S => stdctl::SELECT, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static is discouraged [INFO] [stdout] --> src/gdt.rs:59:58 [INFO] [stdout] | [INFO] [stdout] 59 | let stack_start = VirtAddr::from_ptr(unsafe {&STACK}); [INFO] [stdout] | ^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #114447 [INFO] [stdout] = note: this will be a hard error in the 2024 edition [INFO] [stdout] = note: this shared reference has lifetime `'static`, but if the static ever gets mutated, or a mutable reference is created, then any further use of this shared reference is Undefined Behavior [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] help: use `addr_of!` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 59 | let stack_start = VirtAddr::from_ptr(unsafe {addr_of!(STACK)}); [INFO] [stdout] | ~~~~~~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 160 | Up => stdctl::UP, [INFO] [stdout] | ^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 161 | Down => stdctl::DOWN, [INFO] [stdout] | ^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 162 | Left => stdctl::LEFT, [INFO] [stdout] | ^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 163 | Right => stdctl::RIGHT, [INFO] [stdout] | ^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 164 | _ => 0, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `I` [INFO] [stdout] --> src/emulation/mod.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_I` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `K` [INFO] [stdout] --> src/emulation/mod.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | K => stdctl::DOWN, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_K` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `J` [INFO] [stdout] --> src/emulation/mod.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | J => stdctl::LEFT, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_J` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `L` [INFO] [stdout] --> src/emulation/mod.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | L => stdctl::RIGHT, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_L` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Z` [INFO] [stdout] --> src/emulation/mod.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | Z => stdctl::A, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_Z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `X` [INFO] [stdout] --> src/emulation/mod.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | X => stdctl::B, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_X` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Return` [INFO] [stdout] --> src/emulation/mod.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | Return => stdctl::START, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_Return` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `S` [INFO] [stdout] --> src/emulation/mod.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | S => stdctl::SELECT, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_S` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Up` [INFO] [stdout] --> src/emulation/mod.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | Up => stdctl::UP, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_Up` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Down` [INFO] [stdout] --> src/emulation/mod.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | Down => stdctl::DOWN, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_Down` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Left` [INFO] [stdout] --> src/emulation/mod.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | Left => stdctl::LEFT, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_Left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Right` [INFO] [stdout] --> src/emulation/mod.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | Right => stdctl::RIGHT, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_Right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/emulation/mod.rs:361:9 [INFO] [stdout] | [INFO] [stdout] 361 | let mut prg_rom = vec![0; prg_len]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/emulation/mod.rs:362:9 [INFO] [stdout] | [INFO] [stdout] 362 | let mut chr_rom = vec![0; chr_len]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `layout` [INFO] [stdout] --> src/allocator.rs:50:28 [INFO] [stdout] | [INFO] [stdout] 50 | unsafe fn alloc(&self, layout: Layout) -> *mut u8 { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ptr` [INFO] [stdout] --> src/allocator.rs:55:30 [INFO] [stdout] | [INFO] [stdout] 55 | unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ptr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `layout` [INFO] [stdout] --> src/allocator.rs:55:44 [INFO] [stdout] | [INFO] [stdout] 55 | unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `size` [INFO] [stdout] --> src/allocator.rs:71:40 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn init(&mut self, start: u64, size: u64) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ticks` [INFO] [stdout] --> src/time.rs:40:19 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn soft_sleep(ticks: usize) [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ticks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ptr` [INFO] [stdout] --> src/allocator.rs:92:30 [INFO] [stdout] | [INFO] [stdout] 92 | unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ptr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `layout` [INFO] [stdout] --> src/allocator.rs:92:44 [INFO] [stdout] | [INFO] [stdout] 92 | unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rax` is never read [INFO] [stdout] --> src/registers.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | let mut rax: u64 = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `color` [INFO] [stdout] --> src/emulation/construct.rs:65:20 [INFO] [stdout] | [INFO] [stdout] 65 | fn color16_from_u8(color: u8) -> Color16 [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample` [INFO] [stdout] --> src/emulation/construct.rs:77:25 [INFO] [stdout] | [INFO] [stdout] 77 | fn queue(&mut self, sample: i16) [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] 153 | K => stdctl::DOWN, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] 153 | K => stdctl::DOWN, [INFO] [stdout] 154 | J => stdctl::LEFT, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 155 | L => stdctl::RIGHT, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 156 | Z => stdctl::A, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 157 | X => stdctl::B, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 158 | Return => stdctl::START, [INFO] [stdout] | ^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 159 | S => stdctl::SELECT, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 160 | Up => stdctl::UP, [INFO] [stdout] | ^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 161 | Down => stdctl::DOWN, [INFO] [stdout] | ^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 162 | Left => stdctl::LEFT, [INFO] [stdout] | ^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 163 | Right => stdctl::RIGHT, [INFO] [stdout] | ^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/emulation/mod.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | - matches any value [INFO] [stdout] ... [INFO] [stdout] 164 | _ => 0, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `I` [INFO] [stdout] --> src/emulation/mod.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_I` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `K` [INFO] [stdout] --> src/emulation/mod.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | K => stdctl::DOWN, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_K` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `J` [INFO] [stdout] --> src/emulation/mod.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | J => stdctl::LEFT, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_J` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `L` [INFO] [stdout] --> src/emulation/mod.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | L => stdctl::RIGHT, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_L` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Z` [INFO] [stdout] --> src/emulation/mod.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | Z => stdctl::A, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_Z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `X` [INFO] [stdout] --> src/emulation/mod.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | X => stdctl::B, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_X` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Return` [INFO] [stdout] --> src/emulation/mod.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | Return => stdctl::START, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_Return` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `S` [INFO] [stdout] --> src/emulation/mod.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | S => stdctl::SELECT, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_S` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Up` [INFO] [stdout] --> src/emulation/mod.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | Up => stdctl::UP, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_Up` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Down` [INFO] [stdout] --> src/emulation/mod.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | Down => stdctl::DOWN, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_Down` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Left` [INFO] [stdout] --> src/emulation/mod.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | Left => stdctl::LEFT, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_Left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Right` [INFO] [stdout] --> src/emulation/mod.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | Right => stdctl::RIGHT, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_Right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stack_frame` [INFO] [stdout] --> src/interrupts.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | stack_frame: InterruptStackFrame, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stack_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stack_frame` [INFO] [stdout] --> src/interrupts.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | stack_frame: InterruptStackFrame, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stack_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `mode` is never read [INFO] [stdout] --> src/interrupts.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | let mut mode: u8 = 0x00; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stack_frame` [INFO] [stdout] --> src/interrupts.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 176 | stack_frame: InterruptStackFrame, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stack_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/interrupts.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/emulation/mod.rs:361:9 [INFO] [stdout] | [INFO] [stdout] 361 | let mut prg_rom = vec![0; prg_len]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/emulation/mod.rs:362:9 [INFO] [stdout] | [INFO] [stdout] 362 | let mut chr_rom = vec![0; chr_len]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ticks` [INFO] [stdout] --> src/time.rs:40:19 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn soft_sleep(ticks: usize) [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ticks` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `rax` is never read [INFO] [stdout] --> src/registers.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | let mut rax: u64 = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `adjust_pic_speed` is never used [INFO] [stdout] --> src/lib.rs:100:4 [INFO] [stdout] | [INFO] [stdout] 100 | fn adjust_pic_speed() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `size` is never read [INFO] [stdout] --> src/allocator.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 64 | struct HeapAllocator { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 65 | start: u64, [INFO] [stdout] 66 | size: u64, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RGB_COLORS` is never used [INFO] [stdout] --> src/emulation/mod.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const RGB_COLORS: [u32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PIX_WIDTH` is never used [INFO] [stdout] --> src/emulation/mod.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const PIX_WIDTH: u32 = 256; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PIX_HEIGHT` is never used [INFO] [stdout] --> src/emulation/mod.rs:37:7 [INFO] [stdout] | [INFO] [stdout] 37 | const PIX_HEIGHT: u32 = 240; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FB_PITCH` is never used [INFO] [stdout] --> src/emulation/mod.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 38 | const FB_PITCH: usize = PIX_WIDTH as usize * 3; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FB_SIZE` is never used [INFO] [stdout] --> src/emulation/mod.rs:39:7 [INFO] [stdout] | [INFO] [stdout] 39 | const FB_SIZE: usize = PIX_HEIGHT as usize * FB_PITCH; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUDIO_SAMPLES` is never used [INFO] [stdout] --> src/emulation/mod.rs:40:7 [INFO] [stdout] | [INFO] [stdout] 40 | const AUDIO_SAMPLES: u16 = 441; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUDIO_EXTRA_SAMPLES` is never used [INFO] [stdout] --> src/emulation/mod.rs:41:7 [INFO] [stdout] | [INFO] [stdout] 41 | const AUDIO_EXTRA_SAMPLES: u16 = 4410; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUDIO_ALL_SAMPLES` is never used [INFO] [stdout] --> src/emulation/mod.rs:42:7 [INFO] [stdout] | [INFO] [stdout] 42 | const AUDIO_ALL_SAMPLES: u16 = AUDIO_SAMPLES + AUDIO_EXTRA_SAMPLES; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `keyboard_mapping` is never used [INFO] [stdout] --> src/emulation/mod.rs:150:4 [INFO] [stdout] | [INFO] [stdout] 150 | fn keyboard_mapping(key: &str) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_rgb` is never used [INFO] [stdout] --> src/emulation/mod.rs:169:4 [INFO] [stdout] | [INFO] [stdout] 169 | fn get_rgb(color: u8) -> (u8, u8, u8) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CircularBuffer` is never constructed [INFO] [stdout] --> src/emulation/mod.rs:174:8 [INFO] [stdout] | [INFO] [stdout] 174 | struct CircularBuffer { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `enque`, and `deque` are never used [INFO] [stdout] --> src/emulation/mod.rs:181:8 [INFO] [stdout] | [INFO] [stdout] 180 | impl CircularBuffer { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 181 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | fn enque(&mut self, sample: i16) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | fn deque(&mut self) -> i16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `basic` is never used [INFO] [stdout] --> src/vga_buffer.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 46 | impl ScreenChar [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | fn basic(byte: u8) -> ScreenChar [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `I` should have a snake case name [INFO] [stdout] --> src/emulation/mod.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | I => stdctl::UP, [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `K` should have a snake case name [INFO] [stdout] --> src/emulation/mod.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | K => stdctl::DOWN, [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `J` should have a snake case name [INFO] [stdout] --> src/emulation/mod.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 154 | J => stdctl::LEFT, [INFO] [stdout] | ^ help: convert the identifier to snake case: `j` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `L` should have a snake case name [INFO] [stdout] --> src/emulation/mod.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | L => stdctl::RIGHT, [INFO] [stdout] | ^ help: convert the identifier to snake case: `l` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Z` should have a snake case name [INFO] [stdout] --> src/emulation/mod.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | Z => stdctl::A, [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `z` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `X` should have a snake case name [INFO] [stdout] --> src/emulation/mod.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | X => stdctl::B, [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Return` should have a snake case name [INFO] [stdout] --> src/emulation/mod.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | Return => stdctl::START, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [INFO] [stdout] 158 | r#return => stdctl::START, [INFO] [stdout] | ~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `S` should have a snake case name [INFO] [stdout] --> src/emulation/mod.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | S => stdctl::SELECT, [INFO] [stdout] | ^ help: convert the identifier to snake case (notice the capitalization): `s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Up` should have a snake case name [INFO] [stdout] --> src/emulation/mod.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | Up => stdctl::UP, [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `up` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Down` should have a snake case name [INFO] [stdout] --> src/emulation/mod.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | Down => stdctl::DOWN, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `down` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Left` should have a snake case name [INFO] [stdout] --> src/emulation/mod.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | Left => stdctl::LEFT, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `left` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Right` should have a snake case name [INFO] [stdout] --> src/emulation/mod.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | Right => stdctl::RIGHT, [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static variable `tick_count` should have an upper case name [INFO] [stdout] --> src/time.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | pub static ref tick_count: spin::Mutex = [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper case: `TICK_COUNT` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stack_frame` [INFO] [stdout] --> src/interrupts.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 125 | stack_frame: InterruptStackFrame, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stack_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stack_frame` [INFO] [stdout] --> src/interrupts.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | stack_frame: InterruptStackFrame, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stack_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `mode` is never read [INFO] [stdout] --> src/interrupts.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | let mut mode: u8 = 0x00; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stack_frame` [INFO] [stdout] --> src/interrupts.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 176 | stack_frame: InterruptStackFrame, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stack_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 90 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/interrupts.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 184 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 62 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `nesos` (lib test) due to 2 previous errors; 62 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused import: `core::panic::PanicInfo` [INFO] [stdout] --> tests/basic_boot.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use core::panic::PanicInfo; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unwinding panics are not supported without std [INFO] [stdout] | [INFO] [stdout] = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding [INFO] [stdout] = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `alloc::boxed::Box` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use alloc::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `alloc::boxed::Box` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use alloc::boxed::Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Graphics320x200x256` and `GraphicsWriter` [INFO] [stdout] --> src/main.rs:14:20 [INFO] [stdout] | [INFO] [stdout] 14 | use vga::writers::{Graphics320x200x256, GraphicsWriter}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::panic::PanicInfo` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use core::panic::PanicInfo; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `translate_addr` and `vga_draw` [INFO] [stdout] --> src/main.rs:17:38 [INFO] [stdout] | [INFO] [stdout] 17 | use nesos::{println, serial_println, vga_draw, memory::{translate_addr, BootInfoFrameAllocator}, allocator}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Page`, `Size4KiB`, `Translate`, and `page` [INFO] [stdout] --> src/main.rs:18:35 [INFO] [stdout] | [INFO] [stdout] 18 | use x86_64::{structures::paging::{page, Translate, Page, Size4KiB}, VirtAddr}; [INFO] [stdout] | ^^^^ ^^^^^^^^^ ^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tests` [INFO] [stdout] --> tests/basic_boot.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn test_runner(tests: &[&dyn Fn()]) [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_tests` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unwinding panics are not supported without std [INFO] [stdout] | [INFO] [stdout] = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding [INFO] [stdout] = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Graphics320x200x256` and `GraphicsWriter` [INFO] [stdout] --> src/main.rs:14:20 [INFO] [stdout] | [INFO] [stdout] 14 | use vga::writers::{Graphics320x200x256, GraphicsWriter}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::panic::PanicInfo` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use core::panic::PanicInfo; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `translate_addr` and `vga_draw` [INFO] [stdout] --> src/main.rs:17:38 [INFO] [stdout] | [INFO] [stdout] 17 | use nesos::{println, serial_println, vga_draw, memory::{translate_addr, BootInfoFrameAllocator}, allocator}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Page`, `Size4KiB`, `Translate`, and `page` [INFO] [stdout] --> src/main.rs:18:35 [INFO] [stdout] | [INFO] [stdout] 18 | use x86_64::{structures::paging::{page, Translate, Page, Size4KiB}, VirtAddr}; [INFO] [stdout] | ^^^^ ^^^^^^^^^ ^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unwinding panics are not supported without std [INFO] [stdout] | [INFO] [stdout] = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding [INFO] [stdout] = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function cannot return without recursing [INFO] [stdout] --> src/main.rs:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | fn stack_overflow() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ cannot return without recursing [INFO] [stdout] 49 | stack_overflow(); [INFO] [stdout] | ---------------- recursive call site [INFO] [stdout] | [INFO] [stdout] = help: a `loop` may express intention better if this is on purpose [INFO] [stdout] = note: `#[warn(unconditional_recursion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `level_4_page_table` [INFO] [stdout] --> src/main.rs:90:10 [INFO] [stdout] | [INFO] [stdout] 90 | let (level_4_page_table, _) = Cr3::read(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_level_4_page_table` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `nesos` (test "basic_boot") due to 2 previous errors; 2 warnings emitted [INFO] [stdout] error: aborting due to 1 previous error; 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function cannot return without recursing [INFO] [stdout] --> src/main.rs:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | fn stack_overflow() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ cannot return without recursing [INFO] [stdout] 49 | stack_overflow(); [INFO] [stdout] | ---------------- recursive call site [INFO] [stdout] | [INFO] [stdout] = help: a `loop` may express intention better if this is on purpose [INFO] [stdout] = note: `#[warn(unconditional_recursion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `level_4_page_table` [INFO] [stdout] --> src/main.rs:90:10 [INFO] [stdout] | [INFO] [stdout] 90 | let (level_4_page_table, _) = Cr3::read(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_level_4_page_table` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `nesos` (bin "nesos") due to 2 previous errors; 7 warnings emitted [INFO] [stderr] error: could not compile `nesos` (bin "nesos" test) due to 2 previous errors; 7 warnings emitted [INFO] running `Command { std: "docker" "inspect" "2edda01279f08e26c0b2789bf21243da360835b7664f7da10050643b5f51d4aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2edda01279f08e26c0b2789bf21243da360835b7664f7da10050643b5f51d4aa", kill_on_drop: false }` [INFO] [stdout] 2edda01279f08e26c0b2789bf21243da360835b7664f7da10050643b5f51d4aa