[INFO] cloning repository https://github.com/provrb/os [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/provrb/os" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprovrb%2Fos", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprovrb%2Fos'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f49b5e38fb8bb5669f83f00bbda2c89ab2c891fa [INFO] checking provrb/os against try#8384de5d92dd9b1c0b67caa5c1c1b11bf606490f for pr-146300 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fprovrb%2Fos" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/provrb/os [INFO] finished tweaking git repo https://github.com/provrb/os [INFO] tweaked toml for git repo https://github.com/provrb/os written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/provrb/os on toolchain 8384de5d92dd9b1c0b67caa5c1c1b11bf606490f [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8384de5d92dd9b1c0b67caa5c1c1b11bf606490f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/provrb/os 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" "+8384de5d92dd9b1c0b67caa5c1c1b11bf606490f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bootloader v0.9.30 [INFO] [stderr] Downloaded pic8259 v0.10.4 [INFO] [stderr] Downloaded x86_64 v0.14.13 [INFO] [stderr] Downloaded linked_list_allocator v0.9.1 [INFO] [stderr] Downloaded spinning_top v0.2.5 [INFO] [stderr] Downloaded volatile v0.4.6 [INFO] [stderr] Downloaded pc-keyboard v0.7.0 [INFO] [stderr] Downloaded x86_64 v0.15.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8384de5d92dd9b1c0b67caa5c1c1b11bf606490f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 65ce9cf4f446d27a0d9feb618574a596057069836dd04bf9f20f0dc234eac65b [INFO] running `Command { std: "docker" "start" "-a" "65ce9cf4f446d27a0d9feb618574a596057069836dd04bf9f20f0dc234eac65b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "65ce9cf4f446d27a0d9feb618574a596057069836dd04bf9f20f0dc234eac65b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "65ce9cf4f446d27a0d9feb618574a596057069836dd04bf9f20f0dc234eac65b", kill_on_drop: false }` [INFO] [stdout] 65ce9cf4f446d27a0d9feb618574a596057069836dd04bf9f20f0dc234eac65b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+8384de5d92dd9b1c0b67caa5c1c1b11bf606490f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 49ee90a506dfcf08351e0d9d6a956cb325a6098c52e678fc87243e93bf0469fc [INFO] running `Command { std: "docker" "start" "-a" "49ee90a506dfcf08351e0d9d6a956cb325a6098c52e678fc87243e93bf0469fc", kill_on_drop: false }` [INFO] [stderr] Compiling rustversion v1.0.19 [INFO] [stderr] Compiling bootloader v0.9.30 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Checking bitflags v2.8.0 [INFO] [stderr] Checking volatile v0.4.6 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking volatile v0.2.7 [INFO] [stderr] Checking pc-keyboard v0.7.0 [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking spinning_top v0.2.5 [INFO] [stderr] Checking linked_list_allocator v0.9.1 [INFO] [stderr] Checking lock_api v0.4.12 [INFO] [stderr] Checking x86_64 v0.14.13 [INFO] [stderr] Checking x86_64 v0.15.2 [INFO] [stderr] Checking pic8259 v0.10.4 [INFO] [stderr] Checking os v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `global_asm` [INFO] [stdout] --> src/gdt.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use core::arch::{asm, global_asm}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CS` and `Segment` [INFO] [stdout] --> src/gdt.rs:65:46 [INFO] [stdout] | [INFO] [stdout] 65 | use x86_64::instructions::segmentation::{Segment, CS}; [INFO] [stdout] | ^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x86_64::registers::rflags::RFlags` [INFO] [stdout] --> src/gdt.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | use x86_64::registers::rflags::RFlags; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mem::USER_ENTRY` [INFO] [stdout] --> src/gdt.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | use crate::mem::USER_ENTRY; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gdt` [INFO] [stdout] --> src/gdt.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | use crate::{gdt, println}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MapperFlush` [INFO] [stdout] --> src/mem.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | mapper::{MapToError, MapperFlush}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x86_64::structures::paging::mapper::MapToError` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use x86_64::structures::paging::mapper::MapToError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Size4KiB` [INFO] [stdout] --> src/main.rs:19:80 [INFO] [stdout] | [INFO] [stdout] 19 | use x86_64::structures::paging::{FrameAllocator, Mapper, Page, PageTableFlags, Size4KiB, Translate}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `time::DateTime` [INFO] [stdout] --> src/main.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use time::DateTime; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ColorDesc` and `set_print_color` [INFO] [stdout] --> src/main.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | use vga_buffer::{set_print_color, ColorDesc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `global_asm` [INFO] [stdout] --> src/gdt.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use core::arch::{asm, global_asm}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PrivilegeLevel` [INFO] [stdout] --> src/main.rs:24:14 [INFO] [stdout] | [INFO] [stdout] 24 | use x86_64::{PrivilegeLevel, VirtAddr}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CS` and `Segment` [INFO] [stdout] --> src/gdt.rs:65:46 [INFO] [stdout] | [INFO] [stdout] 65 | use x86_64::instructions::segmentation::{Segment, CS}; [INFO] [stdout] | ^^^^^^^ ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x86_64::registers::rflags::RFlags` [INFO] [stdout] --> src/gdt.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | use x86_64::registers::rflags::RFlags; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mem::USER_ENTRY` [INFO] [stdout] --> src/gdt.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | use crate::mem::USER_ENTRY; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `gdt` [INFO] [stdout] --> src/gdt.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | use crate::{gdt, println}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MapperFlush` [INFO] [stdout] --> src/mem.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | mapper::{MapToError, MapperFlush}, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `x86_64::structures::paging::mapper::MapToError` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use x86_64::structures::paging::mapper::MapToError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Size4KiB` [INFO] [stdout] --> src/main.rs:19:80 [INFO] [stdout] | [INFO] [stdout] 19 | use x86_64::structures::paging::{FrameAllocator, Mapper, Page, PageTableFlags, Size4KiB, Translate}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0152]: found duplicate lang item `panic_impl` [INFO] [stdout] --> src/main.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | / fn panic(info: &PanicInfo) -> ! { [INFO] [stdout] 75 | | println!("panic! {info}"); [INFO] [stdout] 76 | | [INFO] [stdout] 77 | | loop { [INFO] [stdout] ... | [INFO] [stdout] 80 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: the lang item is first defined in crate `std` (which `test` depends on) [INFO] [stdout] = note: first definition in `std` loaded from /opt/rustwide/rustup-home/toolchains/8384de5d92dd9b1c0b67caa5c1c1b11bf606490f/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-689ca45c0c8af91f.rlib [INFO] [stdout] = note: second definition in the local crate (`os`) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `time::DateTime` [INFO] [stdout] --> src/main.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use time::DateTime; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ColorDesc` and `set_print_color` [INFO] [stdout] --> src/main.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | use vga_buffer::{set_print_color, ColorDesc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PrivilegeLevel` [INFO] [stdout] --> src/main.rs:24:14 [INFO] [stdout] | [INFO] [stdout] 24 | use x86_64::{PrivilegeLevel, VirtAddr}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0152`. [INFO] [stdout] [INFO] [stderr] error: could not compile `os` (bin "os" test) due to 1 previous error; 11 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: formatting may not be suitable for sub-register argument [INFO] [stdout] --> src/gdt.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 93 | "push {1}", // Push User Data Segment [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | in(reg) user_ds, // Load User Data Segment dynamically [INFO] [stdout] | ------- for this argument [INFO] [stdout] | [INFO] [stdout] = help: use `{1:x}` to have the register formatted as `ax` (for 16-bit values) [INFO] [stdout] = help: or use `{1:r}` to keep the default formatting of `rax` (for 64-bit values) [INFO] [stdout] = note: `#[warn(asm_sub_register)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: formatting may not be suitable for sub-register argument [INFO] [stdout] --> src/gdt.rs:96:19 [INFO] [stdout] | [INFO] [stdout] 96 | "push {2}", // Push User Code Segment [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | in(reg) user_cs, // Load User Code Segment dynamically [INFO] [stdout] | ------- for this argument [INFO] [stdout] | [INFO] [stdout] = help: use `{2:x}` to have the register formatted as `ax` (for 16-bit values) [INFO] [stdout] = help: or use `{2:r}` to keep the default formatting of `rax` (for 64-bit values) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/main.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 66 | gdt::enter_user_mode(); [INFO] [stdout] | ---------------------- any code following this expression is unreachable [INFO] [stdout] 67 | [INFO] [stdout] 68 | / loop { [INFO] [stdout] 69 | | x86_64::instructions::hlt(); [INFO] [stdout] 70 | | } [INFO] [stdout] | |_____^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Weekday`, `StatusA`, `StatusC`, and `StatusD` are never constructed [INFO] [stdout] --> src/cmos.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 10 | enum CMOSRTCRegister { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | Weekday = 0x06, // 1-7 [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | StatusA = 0x0A, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 20 | StatusB = 0x0B, [INFO] [stdout] 21 | StatusC = 0x0C, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 22 | StatusD = 0x0D, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CMOSRTCRegister` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_24_hour_format` is never used [INFO] [stdout] --> src/cmos.rs:77:19 [INFO] [stdout] | [INFO] [stdout] 41 | impl CMOS { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 77 | pub(crate) fn is_24_hour_format(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/mem.rs:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn lock(&self) -> spin::MutexGuard { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 134 | pub fn lock(&self) -> spin::MutexGuard<'_, A> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/time.rs:28:37 [INFO] [stdout] | [INFO] [stdout] 28 | let mut raw_time = unsafe { CMOS_INSTANCE.time_now() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/time.rs:31:22 [INFO] [stdout] | [INFO] [stdout] 31 | if !unsafe { CMOS_INSTANCE.is_bcd_mode() } { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "49ee90a506dfcf08351e0d9d6a956cb325a6098c52e678fc87243e93bf0469fc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "49ee90a506dfcf08351e0d9d6a956cb325a6098c52e678fc87243e93bf0469fc", kill_on_drop: false }` [INFO] [stdout] 49ee90a506dfcf08351e0d9d6a956cb325a6098c52e678fc87243e93bf0469fc