[INFO] cloning repository https://github.com/Klubuntu/back-to-asm-with-rust-kernel
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Klubuntu/back-to-asm-with-rust-kernel" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKlubuntu%2Fback-to-asm-with-rust-kernel", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKlubuntu%2Fback-to-asm-with-rust-kernel'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 75d232425eaa295dce60f998ad95bc86840937b7
[INFO] checking Klubuntu/back-to-asm-with-rust-kernel against try#b28cc4eb48a6415b914e8ad0308be255ff8d73ed for pr-156508
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKlubuntu%2Fback-to-asm-with-rust-kernel" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Klubuntu/back-to-asm-with-rust-kernel
[INFO] finished tweaking git repo https://github.com/Klubuntu/back-to-asm-with-rust-kernel
[INFO] tweaked toml for git repo https://github.com/Klubuntu/back-to-asm-with-rust-kernel written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Klubuntu/back-to-asm-with-rust-kernel on toolchain b28cc4eb48a6415b914e8ad0308be255ff8d73ed
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b28cc4eb48a6415b914e8ad0308be255ff8d73ed" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Klubuntu/back-to-asm-with-rust-kernel 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" "+b28cc4eb48a6415b914e8ad0308be255ff8d73ed" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking Klubuntu/back-to-asm-with-rust-kernel against try#b28cc4eb48a6415b914e8ad0308be255ff8d73ed for pr-156508
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKlubuntu%2Fback-to-asm-with-rust-kernel" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Klubuntu/back-to-asm-with-rust-kernel
[INFO] finished tweaking git repo https://github.com/Klubuntu/back-to-asm-with-rust-kernel
[INFO] tweaked toml for git repo https://github.com/Klubuntu/back-to-asm-with-rust-kernel written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Klubuntu/back-to-asm-with-rust-kernel on toolchain b28cc4eb48a6415b914e8ad0308be255ff8d73ed
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b28cc4eb48a6415b914e8ad0308be255ff8d73ed" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Klubuntu/back-to-asm-with-rust-kernel 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" "+b28cc4eb48a6415b914e8ad0308be255ff8d73ed" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b28cc4eb48a6415b914e8ad0308be255ff8d73ed" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6dcca9ac5a9dc267ae68cd5d653b950cf3a64a8cfceefb5b96fa51cbbb9de277
[INFO] running `Command { std: "docker" "start" "-a" "6dcca9ac5a9dc267ae68cd5d653b950cf3a64a8cfceefb5b96fa51cbbb9de277", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6dcca9ac5a9dc267ae68cd5d653b950cf3a64a8cfceefb5b96fa51cbbb9de277", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6dcca9ac5a9dc267ae68cd5d653b950cf3a64a8cfceefb5b96fa51cbbb9de277", kill_on_drop: false }`
[INFO] [stdout] 6dcca9ac5a9dc267ae68cd5d653b950cf3a64a8cfceefb5b96fa51cbbb9de277
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b28cc4eb48a6415b914e8ad0308be255ff8d73ed" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 987fdaec62c0aaf59fd4eccc54f832cc9d978cf5ed81701c5b4a6ac42f7b0763
[INFO] running `Command { std: "docker" "start" "-a" "987fdaec62c0aaf59fd4eccc54f832cc9d978cf5ed81701c5b4a6ac42f7b0763", kill_on_drop: false }`
[INFO] [stderr]     Checking kernel v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused macro definition: `vga_clear_row`
[INFO] [stdout]   --> src/main.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 | macro_rules! vga_clear_row {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `poll_keyboard`
[INFO] [stdout]   --> src/main.rs:97:14
[INFO] [stdout]    |
[INFO] [stdout] 97 | macro_rules! poll_keyboard {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `poll_keyboard_simple`
[INFO] [stdout]    --> src/main.rs:133:14
[INFO] [stdout]     |
[INFO] [stdout] 133 | macro_rules! poll_keyboard_simple {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/main.rs:424:34
[INFO] [stdout]     |
[INFO] [stdout] 424 |     vga_write!(7, 8, b'5', 0x02);;
[INFO] [stdout]     |                                  ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `vga_clear_row`
[INFO] [stdout]   --> src/main.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 | macro_rules! vga_clear_row {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `poll_keyboard`
[INFO] [stdout]   --> src/main.rs:97:14
[INFO] [stdout]    |
[INFO] [stdout] 97 | macro_rules! poll_keyboard {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `poll_keyboard_simple`
[INFO] [stdout]    --> src/main.rs:133:14
[INFO] [stdout]     |
[INFO] [stdout] 133 | macro_rules! poll_keyboard_simple {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/main.rs:424:34
[INFO] [stdout]     |
[INFO] [stdout] 424 |     vga_write!(7, 8, b'5', 0x02);;
[INFO] [stdout]     |                                  ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0152]: found duplicate lang item `panic_impl`
[INFO] [stdout]    --> src/main.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | / fn panic(_info: &PanicInfo) -> ! {
[INFO] [stdout] 454 | |     vga_write!(0, 0, b'E', 0x4F);
[INFO] [stdout] 455 | |     vga_write!(1, 0, b'R', 0x4F);
[INFO] [stdout] 456 | |     vga_write!(2, 0, b'2', 0x4F);
[INFO] [stdout] 457 | |     vga_write!(3, 0, b'5', 0x4F);
[INFO] [stdout] 458 | |     loop { unsafe { asm!("hlt"); } }
[INFO] [stdout] 459 | | }
[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/b28cc4eb48a6415b914e8ad0308be255ff8d73ed/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-dd28cbf307893515.rmeta
[INFO] [stdout]     = note: second definition in the local crate (`kernel`)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0152`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kernel` (bin "kernel" test) due to 1 previous error; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:37:9
[INFO] [stdout]     |
[INFO] [stdout]  37 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_clear` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:83:9
[INFO] [stdout]     |
[INFO] [stdout]  83 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `write_char_macro` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:83:9
[INFO] [stdout]     |
[INFO] [stdout]  83 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `write_char_macro` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:83:9
[INFO] [stdout]     |
[INFO] [stdout]  83 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `write_char_macro` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:83:9
[INFO] [stdout]     |
[INFO] [stdout]  83 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `write_char_macro` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:83:9
[INFO] [stdout]     |
[INFO] [stdout]  83 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `write_char_macro` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:83:9
[INFO] [stdout]     |
[INFO] [stdout]  83 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `write_char_macro` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 436 |         unsafe { 
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:257:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 257 |                         unsafe {
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_char` is never used
[INFO] [stdout]    --> src/main.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn write_char(col: usize, row: usize, ch: u8, color: u8) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "987fdaec62c0aaf59fd4eccc54f832cc9d978cf5ed81701c5b4a6ac42f7b0763", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "987fdaec62c0aaf59fd4eccc54f832cc9d978cf5ed81701c5b4a6ac42f7b0763", kill_on_drop: false }`
[INFO] [stdout] 987fdaec62c0aaf59fd4eccc54f832cc9d978cf5ed81701c5b4a6ac42f7b0763
