[INFO] fetching crate fe_rtos 0.1.1...
[INFO] checking fe_rtos-0.1.1 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate fe_rtos 0.1.1 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate fe_rtos 0.1.1 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate fe_rtos 0.1.1
[INFO] finished tweaking crates.io crate fe_rtos 0.1.1
[INFO] tweaked toml for crates.io crate fe_rtos 0.1.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 34 packages to latest compatible versions
[INFO] [stderr]       Adding aligned v0.3.5 (latest: v0.4.2)
[INFO] [stderr]       Adding as-slice v0.1.5 (latest: v0.2.1)
[INFO] [stderr]       Adding bare-metal v0.2.5 (latest: v1.0.0)
[INFO] [stderr]       Adding bitfield v0.13.2 (latest: v0.15.0)
[INFO] [stderr]       Adding cfg-if v0.1.10 (latest: v1.0.0)
[INFO] [stderr]       Adding cortex-m v0.6.7 (latest: v0.7.7)
[INFO] [stderr]       Adding crossbeam-queue v0.2.3 (latest: v0.3.11)
[INFO] [stderr]       Adding crossbeam-utils v0.7.2 (latest: v0.8.19)
[INFO] [stderr]       Adding cstr_core v0.1.2 (latest: v0.2.6)
[INFO] [stderr]       Adding cty v0.1.5 (latest: v0.2.2)
[INFO] [stderr]       Adding embedded-hal v0.2.7 (latest: v1.0.0)
[INFO] [stderr]       Adding generic-array v0.12.4 (latest: v1.0.0)
[INFO] [stderr]       Adding generic-array v0.13.3 (latest: v1.0.0)
[INFO] [stderr]       Adding generic-array v0.14.7 (latest: v1.0.0)
[INFO] [stderr]       Adding nb v0.1.3 (latest: v1.1.0)
[INFO] [stderr]       Adding rustc_version v0.2.3 (latest: v0.4.0)
[INFO] [stderr]       Adding semver v0.9.0 (latest: v1.0.22)
[INFO] [stderr]       Adding semver-parser v0.7.0 (latest: v0.10.2)
[INFO] [stderr]       Adding spin v0.5.2 (latest: v0.9.8)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded as-slice v0.1.5
[INFO] [stderr]   Downloaded generic-array v0.13.3
[INFO] [stderr]   Downloaded cty v0.1.5
[INFO] [stderr]   Downloaded fe_osi v0.1.1
[INFO] [stderr]   Downloaded aligned v0.3.5
[INFO] [stderr]   Downloaded cortex-m v0.6.7
[INFO] [stderr]   Downloaded cstr_core v0.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c8eb110ec6bdc074aa18f1098ae8b228fcf0057db06ca42bae5c49ac097849c9
[INFO] running `Command { std: "docker" "start" "-a" "c8eb110ec6bdc074aa18f1098ae8b228fcf0057db06ca42bae5c49ac097849c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c8eb110ec6bdc074aa18f1098ae8b228fcf0057db06ca42bae5c49ac097849c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c8eb110ec6bdc074aa18f1098ae8b228fcf0057db06ca42bae5c49ac097849c9", kill_on_drop: false }`
[INFO] [stdout] c8eb110ec6bdc074aa18f1098ae8b228fcf0057db06ca42bae5c49ac097849c9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c912437e81dc8db2cac6bba228e5f414220b510020ea259e1ed0b0c1395b0562
[INFO] running `Command { std: "docker" "start" "-a" "c912437e81dc8db2cac6bba228e5f414220b510020ea259e1ed0b0c1395b0562", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling fe_osi v0.1.1
[INFO] [stderr]     Checking cty v0.1.5
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling fe_rtos v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking cstr_core v0.1.2
[INFO] [stderr]     Checking crossbeam-queue v0.2.3
[INFO] [stdout] error: the `#[alloc_error_handler]` in fe_osi conflicts with allocation error handler in: std
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0152]: found duplicate lang item `panic_impl`
[INFO] [stdout]    --> src/interrupt.rs:92:1
[INFO] [stdout]     |
[INFO] [stdout] 92  | / fn panic(panic_info: &PanicInfo<'_>) -> ! {
[INFO] [stdout] 93  | |     let pid = unsafe { get_cur_task().pid };
[INFO] [stdout] 94  | |
[INFO] [stdout] 95  | |     unsafe {
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | |     loop {}
[INFO] [stdout] 118 | | }
[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/c2f2db79ca3024f68d22b45aa22b570775c2c4ad/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-9579298f7adeed43.rlib
[INFO] [stdout]     = note: second definition in the local crate (`fe_rtos`)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_btree_new` has been partially stabilized since 1.66.0 and is succeeded by the feature `const_btree_len`
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_btree_new)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] help: if you are using features which are still unstable, change to using `const_btree_len`
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_btree_len)]
[INFO] [stdout]   |            ~~~~~~~~~~~~~~~
[INFO] [stdout] help: if you are using features which are now stable, remove this line
[INFO] [stdout]   |
[INFO] [stdout] 2 - #![feature(const_btree_new)]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0152`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fe_rtos` (lib test) due to 3 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/fe_alloc.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 215 |     HEAP = &mut _sheap as *mut u8;
[INFO] [stdout]     |            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]     = note: this will be a hard error in the 2024 edition
[INFO] [stdout]     = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 215 |     HEAP = addr_of_mut!(_sheap) as *mut u8;
[INFO] [stdout]     |            ~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/fe_alloc.rs:216:18
[INFO] [stdout]     |
[INFO] [stdout] 216 |     HEAP_SIZE = (&mut _eheap as *mut u8 as usize) - (HEAP as usize);
[INFO] [stdout]     |                  ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]     = note: this will be a hard error in the 2024 edition
[INFO] [stdout]     = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior
[INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 216 |     HEAP_SIZE = (addr_of_mut!(_eheap) as *mut u8 as usize) - (HEAP as usize);
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/interrupt.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let count = &_ebss as *const u8 as usize - &_sbss as *const u8 as usize;
[INFO] [stdout]    |                 ^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let count = addr_of!(_ebss) as *const u8 as usize - &_sbss as *const u8 as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/interrupt.rs:74:48
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let count = &_ebss as *const u8 as usize - &_sbss as *const u8 as usize;
[INFO] [stdout]    |                                                ^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let count = &_ebss as *const u8 as usize - addr_of!(_sbss) as *const u8 as usize;
[INFO] [stdout]    |                                                ~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/interrupt.rs:75:22
[INFO] [stdout]    |
[INFO] [stdout] 75 |     ptr::write_bytes(&mut _sbss as *mut u8, 0, count);
[INFO] [stdout]    |                      ^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]    = note: this will be a hard error in the 2024 edition
[INFO] [stdout]    = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior
[INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 75 |     ptr::write_bytes(addr_of_mut!(_sbss) as *mut u8, 0, count);
[INFO] [stdout]    |                      ~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/interrupt.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let count = &_edata as *const u8 as usize - &_sdata as *const u8 as usize;
[INFO] [stdout]    |                 ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let count = addr_of!(_edata) as *const u8 as usize - &_sdata as *const u8 as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/interrupt.rs:77:49
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let count = &_edata as *const u8 as usize - &_sdata as *const u8 as usize;
[INFO] [stdout]    |                                                 ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let count = &_edata as *const u8 as usize - addr_of!(_sdata) as *const u8 as usize;
[INFO] [stdout]    |                                                 ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/interrupt.rs:78:53
[INFO] [stdout]    |
[INFO] [stdout] 78 |     ptr::copy_nonoverlapping(&_sidata as *const u8, &mut _sdata as *mut u8, count);
[INFO] [stdout]    |                                                     ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]    = note: this will be a hard error in the 2024 edition
[INFO] [stdout]    = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior
[INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 78 |     ptr::copy_nonoverlapping(&_sidata as *const u8, addr_of_mut!(_sdata) as *mut u8, count);
[INFO] [stdout]    |                                                     ~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/spinlock.rs:22:27
[INFO] [stdout]    |
[INFO] [stdout] 22 |             if self.count.compare_and_swap(0, 1, Ordering::SeqCst) == 0 {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/spinlock.rs:39:23
[INFO] [stdout]    |
[INFO] [stdout] 39 |         if self.count.compare_and_swap(0, 1, Ordering::SeqCst) == 0 {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/task/task_state.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |         if !self.in_use.compare_and_swap(false, true, Ordering::SeqCst) {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/task/task_state.rs:38:25
[INFO] [stdout]    |
[INFO] [stdout] 38 |         if !self.in_use.compare_and_swap(false, true, Ordering::SeqCst) {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::sync::atomic::AtomicU32::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/task/tick.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |                 .compare_and_swap(old_msb, old_msb + 1, Ordering::SeqCst);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/task/mod.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 |     match &mut CUR_TASK {
[INFO] [stdout]    |           ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]    = note: this will be a hard error in the 2024 edition
[INFO] [stdout]    = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior
[INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 85 |     match addr_of_mut!(CUR_TASK) {
[INFO] [stdout]    |           ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/task/mod.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |         None => &mut PLACEHOLDER_TASK,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]    = note: this will be a hard error in the 2024 edition
[INFO] [stdout]    = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior
[INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 87 |         None => addr_of_mut!(PLACEHOLDER_TASK),
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/task/mod.rs:93:11
[INFO] [stdout]    |
[INFO] [stdout] 93 |     match &CUR_TASK {
[INFO] [stdout]    |           ^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 93 |     match addr_of!(CUR_TASK) {
[INFO] [stdout]    |           ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/task/mod.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |         None => &PLACEHOLDER_TASK,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 95 |         None => addr_of!(PLACEHOLDER_TASK),
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/task/mod.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 |     match &NEXT_TASK {
[INFO] [stdout]     |           ^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 106 |     match addr_of!(NEXT_TASK) {
[INFO] [stdout]     |           ~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/task/mod.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |         None => &PLACEHOLDER_TASK,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 108 |         None => addr_of!(PLACEHOLDER_TASK),
[INFO] [stdout]     |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/task/mod.rs:113:30
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let default_task = match &KERNEL_TASK {
[INFO] [stdout]     |                              ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let default_task = match addr_of!(KERNEL_TASK) {
[INFO] [stdout]     |                              ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/task/mod.rs:120:23
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let count = match &NEXT_TASK {
[INFO] [stdout]     |                       ^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let count = match addr_of!(NEXT_TASK) {
[INFO] [stdout]     |                       ~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/fe_alloc.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |             Box::from_raw(ALLOC_LIST[i].ptr);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 275 |             let _ = Box::from_raw(ALLOC_LIST[i].ptr);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 23 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c912437e81dc8db2cac6bba228e5f414220b510020ea259e1ed0b0c1395b0562", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c912437e81dc8db2cac6bba228e5f414220b510020ea259e1ed0b0c1395b0562", kill_on_drop: false }`
[INFO] [stdout] c912437e81dc8db2cac6bba228e5f414220b510020ea259e1ed0b0c1395b0562
[INFO] checking fe_rtos-0.1.1 against try#9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88 for pr-124157
[INFO] extracting crate fe_rtos 0.1.1 into /workspace/builds/worker-5-tc2/source
[INFO] validating manifest of crates.io crate fe_rtos 0.1.1 on toolchain 9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate fe_rtos 0.1.1
[INFO] finished tweaking crates.io crate fe_rtos 0.1.1
[INFO] tweaked toml for crates.io crate fe_rtos 0.1.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 34 packages to latest compatible versions
[INFO] [stderr]       Adding aligned v0.3.5 (latest: v0.4.2)
[INFO] [stderr]       Adding as-slice v0.1.5 (latest: v0.2.1)
[INFO] [stderr]       Adding bare-metal v0.2.5 (latest: v1.0.0)
[INFO] [stderr]       Adding bitfield v0.13.2 (latest: v0.15.0)
[INFO] [stderr]       Adding cfg-if v0.1.10 (latest: v1.0.0)
[INFO] [stderr]       Adding cortex-m v0.6.7 (latest: v0.7.7)
[INFO] [stderr]       Adding crossbeam-queue v0.2.3 (latest: v0.3.11)
[INFO] [stderr]       Adding crossbeam-utils v0.7.2 (latest: v0.8.19)
[INFO] [stderr]       Adding cstr_core v0.1.2 (latest: v0.2.6)
[INFO] [stderr]       Adding cty v0.1.5 (latest: v0.2.2)
[INFO] [stderr]       Adding embedded-hal v0.2.7 (latest: v1.0.0)
[INFO] [stderr]       Adding generic-array v0.12.4 (latest: v1.0.0)
[INFO] [stderr]       Adding generic-array v0.13.3 (latest: v1.0.0)
[INFO] [stderr]       Adding generic-array v0.14.7 (latest: v1.0.0)
[INFO] [stderr]       Adding nb v0.1.3 (latest: v1.1.0)
[INFO] [stderr]       Adding rustc_version v0.2.3 (latest: v0.4.0)
[INFO] [stderr]       Adding semver v0.9.0 (latest: v1.0.22)
[INFO] [stderr]       Adding semver-parser v0.7.0 (latest: v0.10.2)
[INFO] [stderr]       Adding spin v0.5.2 (latest: v0.9.8)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9333a80e1607c214a1ad493636b4f67ca88783115adb29ecba13503be5b2604f
[INFO] running `Command { std: "docker" "start" "-a" "9333a80e1607c214a1ad493636b4f67ca88783115adb29ecba13503be5b2604f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9333a80e1607c214a1ad493636b4f67ca88783115adb29ecba13503be5b2604f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9333a80e1607c214a1ad493636b4f67ca88783115adb29ecba13503be5b2604f", kill_on_drop: false }`
[INFO] [stdout] 9333a80e1607c214a1ad493636b4f67ca88783115adb29ecba13503be5b2604f
[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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d311c37f48cae826ffd669effd3072b0431724fd704f6fa259865ad54530e1a5
[INFO] running `Command { std: "docker" "start" "-a" "d311c37f48cae826ffd669effd3072b0431724fd704f6fa259865ad54530e1a5", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling fe_osi v0.1.1
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]     Checking cty v0.1.5
[INFO] [stderr]    Compiling fe_rtos v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking cstr_core v0.1.2
[INFO] [stderr]     Checking crossbeam-queue v0.2.3
[INFO] [stdout] error: the `#[alloc_error_handler]` in fe_osi conflicts with allocation error handler in: std
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0152]: found duplicate lang item `panic_impl`
[INFO] [stdout]    --> src/interrupt.rs:92:1
[INFO] [stdout]     |
[INFO] [stdout] 92  | / fn panic(panic_info: &PanicInfo<'_>) -> ! {
[INFO] [stdout] 93  | |     let pid = unsafe { get_cur_task().pid };
[INFO] [stdout] 94  | |
[INFO] [stdout] 95  | |     unsafe {
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | |     loop {}
[INFO] [stdout] 118 | | }
[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/9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-9579298f7adeed43.rlib
[INFO] [stdout]     = note: second definition in the local crate (`fe_rtos`)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_btree_new` has been partially stabilized since 1.66.0 and is succeeded by the feature `const_btree_len`
[INFO] [stdout]  --> src/lib.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_btree_new)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] help: if you are using features which are still unstable, change to using `const_btree_len`
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(const_btree_len)]
[INFO] [stdout]   |            ~~~~~~~~~~~~~~~
[INFO] [stdout] help: if you are using features which are now stable, remove this line
[INFO] [stdout]   |
[INFO] [stdout] 2 - #![feature(const_btree_new)]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0152`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fe_rtos` (lib test) due to 3 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/fe_alloc.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 215 |     HEAP = &mut _sheap as *mut u8;
[INFO] [stdout]     |            ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]     = note: this will be a hard error in the 2024 edition
[INFO] [stdout]     = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 215 |     HEAP = addr_of_mut!(_sheap) as *mut u8;
[INFO] [stdout]     |            ~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> src/fe_alloc.rs:216:18
[INFO] [stdout]     |
[INFO] [stdout] 216 |     HEAP_SIZE = (&mut _eheap as *mut u8 as usize) - (HEAP as usize);
[INFO] [stdout]     |                  ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]     = note: this will be a hard error in the 2024 edition
[INFO] [stdout]     = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior
[INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 216 |     HEAP_SIZE = (addr_of_mut!(_eheap) as *mut u8 as usize) - (HEAP as usize);
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/interrupt.rs:74:17
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let count = &_ebss as *const u8 as usize - &_sbss as *const u8 as usize;
[INFO] [stdout]    |                 ^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let count = addr_of!(_ebss) as *const u8 as usize - &_sbss as *const u8 as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/interrupt.rs:74:48
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let count = &_ebss as *const u8 as usize - &_sbss as *const u8 as usize;
[INFO] [stdout]    |                                                ^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 74 |     let count = &_ebss as *const u8 as usize - addr_of!(_sbss) as *const u8 as usize;
[INFO] [stdout]    |                                                ~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/interrupt.rs:75:22
[INFO] [stdout]    |
[INFO] [stdout] 75 |     ptr::write_bytes(&mut _sbss as *mut u8, 0, count);
[INFO] [stdout]    |                      ^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]    = note: this will be a hard error in the 2024 edition
[INFO] [stdout]    = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior
[INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 75 |     ptr::write_bytes(addr_of_mut!(_sbss) as *mut u8, 0, count);
[INFO] [stdout]    |                      ~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/interrupt.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let count = &_edata as *const u8 as usize - &_sdata as *const u8 as usize;
[INFO] [stdout]    |                 ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let count = addr_of!(_edata) as *const u8 as usize - &_sdata as *const u8 as usize;
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/interrupt.rs:77:49
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let count = &_edata as *const u8 as usize - &_sdata as *const u8 as usize;
[INFO] [stdout]    |                                                 ^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let count = &_edata as *const u8 as usize - addr_of!(_sdata) as *const u8 as usize;
[INFO] [stdout]    |                                                 ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/interrupt.rs:78:53
[INFO] [stdout]    |
[INFO] [stdout] 78 |     ptr::copy_nonoverlapping(&_sidata as *const u8, &mut _sdata as *mut u8, count);
[INFO] [stdout]    |                                                     ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]    = note: this will be a hard error in the 2024 edition
[INFO] [stdout]    = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior
[INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 78 |     ptr::copy_nonoverlapping(&_sidata as *const u8, addr_of_mut!(_sdata) as *mut u8, count);
[INFO] [stdout]    |                                                     ~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/spinlock.rs:22:27
[INFO] [stdout]    |
[INFO] [stdout] 22 |             if self.count.compare_and_swap(0, 1, Ordering::SeqCst) == 0 {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::sync::atomic::AtomicUsize::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/spinlock.rs:39:23
[INFO] [stdout]    |
[INFO] [stdout] 39 |         if self.count.compare_and_swap(0, 1, Ordering::SeqCst) == 0 {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/task/task_state.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |         if !self.in_use.compare_and_swap(false, true, Ordering::SeqCst) {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/task/task_state.rs:38:25
[INFO] [stdout]    |
[INFO] [stdout] 38 |         if !self.in_use.compare_and_swap(false, true, Ordering::SeqCst) {
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::sync::atomic::AtomicU32::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead
[INFO] [stdout]   --> src/task/tick.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |                 .compare_and_swap(old_msb, old_msb + 1, Ordering::SeqCst);
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/task/mod.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 |     match &mut CUR_TASK {
[INFO] [stdout]    |           ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]    = note: this will be a hard error in the 2024 edition
[INFO] [stdout]    = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior
[INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 85 |     match addr_of_mut!(CUR_TASK) {
[INFO] [stdout]    |           ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]   --> src/task/mod.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |         None => &mut PLACEHOLDER_TASK,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]    = note: this will be a hard error in the 2024 edition
[INFO] [stdout]    = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior
[INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 87 |         None => addr_of_mut!(PLACEHOLDER_TASK),
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/task/mod.rs:93:11
[INFO] [stdout]    |
[INFO] [stdout] 93 |     match &CUR_TASK {
[INFO] [stdout]    |           ^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 93 |     match addr_of!(CUR_TASK) {
[INFO] [stdout]    |           ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]   --> src/task/mod.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |         None => &PLACEHOLDER_TASK,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 95 |         None => addr_of!(PLACEHOLDER_TASK),
[INFO] [stdout]    |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/task/mod.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 |     match &NEXT_TASK {
[INFO] [stdout]     |           ^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 106 |     match addr_of!(NEXT_TASK) {
[INFO] [stdout]     |           ~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/task/mod.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |         None => &PLACEHOLDER_TASK,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 108 |         None => addr_of!(PLACEHOLDER_TASK),
[INFO] [stdout]     |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/task/mod.rs:113:30
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let default_task = match &KERNEL_TASK {
[INFO] [stdout]     |                              ^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let default_task = match addr_of!(KERNEL_TASK) {
[INFO] [stdout]     |                              ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static is discouraged
[INFO] [stdout]    --> src/task/mod.rs:120:23
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let count = match &NEXT_TASK {
[INFO] [stdout]     |                       ^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/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] help: use `addr_of!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let count = match addr_of!(NEXT_TASK) {
[INFO] [stdout]     |                       ~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/fe_alloc.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |             Box::from_raw(ALLOC_LIST[i].ptr);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 275 |             let _ = Box::from_raw(ALLOC_LIST[i].ptr);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 23 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d311c37f48cae826ffd669effd3072b0431724fd704f6fa259865ad54530e1a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d311c37f48cae826ffd669effd3072b0431724fd704f6fa259865ad54530e1a5", kill_on_drop: false }`
[INFO] [stdout] d311c37f48cae826ffd669effd3072b0431724fd704f6fa259865ad54530e1a5
