[INFO] cloning repository https://github.com/Ailrk-sArchives/ROS [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Ailrk-sArchives/ROS" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAilrk-sArchives%2FROS", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAilrk-sArchives%2FROS'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b2bb95d6ac1b5bf8230f9271dafa576c593c5053 [INFO] checking Ailrk-sArchives/ROS against master#936f2600b6c903b04387f74ed5cbce88bb06d243 for pr-91141 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAilrk-sArchives%2FROS" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Ailrk-sArchives/ROS on toolchain 936f2600b6c903b04387f74ed5cbce88bb06d243 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+936f2600b6c903b04387f74ed5cbce88bb06d243" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Ailrk-sArchives/ROS [INFO] finished tweaking git repo https://github.com/Ailrk-sArchives/ROS [INFO] tweaked toml for git repo https://github.com/Ailrk-sArchives/ROS written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/Ailrk-sArchives/ROS already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+936f2600b6c903b04387f74ed5cbce88bb06d243" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+936f2600b6c903b04387f74ed5cbce88bb06d243" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 81dcaa81e10993917ad5259df407b11c04738b1ad95143710aab7b4e99f8dbac [INFO] running `Command { std: "docker" "start" "-a" "81dcaa81e10993917ad5259df407b11c04738b1ad95143710aab7b4e99f8dbac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "81dcaa81e10993917ad5259df407b11c04738b1ad95143710aab7b4e99f8dbac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "81dcaa81e10993917ad5259df407b11c04738b1ad95143710aab7b4e99f8dbac", kill_on_drop: false }` [INFO] [stdout] 81dcaa81e10993917ad5259df407b11c04738b1ad95143710aab7b4e99f8dbac [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+936f2600b6c903b04387f74ed5cbce88bb06d243" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f02ee4a144d87528599e260a82732773a84ab69ac3e9e7a6e6f77b9723598b8e [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "f02ee4a144d87528599e260a82732773a84ab69ac3e9e7a6e6f77b9723598b8e", kill_on_drop: false }` [INFO] [stderr] Checking RotonOS v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0435]: attempt to use a non-constant value in a constant [INFO] [stdout] --> src/riscv.rs:505:32 [INFO] [stdout] | [INFO] [stdout] 495 | pub fn lock_test_and_set(p: &mut bool, value: bool) -> bool { [INFO] [stdout] | ----- this would need to be a `const` [INFO] [stdout] ... [INFO] [stdout] 505 | value = const value as u64 [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: const operands for inline assembly are unstable [INFO] [stdout] --> src/riscv.rs:505:18 [INFO] [stdout] | [INFO] [stdout] 505 | value = const value as u64 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #72016 for more information [INFO] [stdout] = help: add `#![feature(asm_const)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::riscv` [INFO] [stdout] --> src/vm.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use super::riscv; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this trait takes 0 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/spinlock.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | impl<'a> OSFetch<'a> for SpinLock<'a> { [INFO] [stdout] | ^^^^^^^---- help: remove these generics [INFO] [stdout] | | [INFO] [stdout] | expected 0 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: trait defined here, with 0 lifetime parameters [INFO] [stdout] --> src/proc.rs:300:11 [INFO] [stdout] | [INFO] [stdout] 300 | pub trait OSFetch: Sized { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this trait takes 0 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/sleeplock.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | impl<'a> OSFetch<'a> for SleepLock<'a> { [INFO] [stdout] | ^^^^^^^---- help: remove these generics [INFO] [stdout] | | [INFO] [stdout] | expected 0 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: trait defined here, with 0 lifetime parameters [INFO] [stdout] --> src/proc.rs:300:11 [INFO] [stdout] | [INFO] [stdout] 300 | pub trait OSFetch: Sized { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/proc.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Procs<'a>([Proc<'a>; params::NPROC]); [INFO] [stdout] | ^^^^ -- supplied 1 lifetime argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 2 lifetime parameters: `'a`, `'b` [INFO] [stdout] --> src/proc.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct Proc<'a, 'b> { [INFO] [stdout] | ^^^^ -- -- [INFO] [stdout] help: add missing lifetime argument [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Procs<'a>([Proc<'a, 'a>; params::NPROC]); [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/proc.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct InitProc<'a>(Proc<'a>); [INFO] [stdout] | ^^^^ -- supplied 1 lifetime argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 2 lifetime parameters: `'a`, `'b` [INFO] [stdout] --> src/proc.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct Proc<'a, 'b> { [INFO] [stdout] | ^^^^ -- -- [INFO] [stdout] help: add missing lifetime argument [INFO] [stdout] | [INFO] [stdout] 18 | pub struct InitProc<'a>(Proc<'a, 'a>); [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/proc.rs:190:11 [INFO] [stdout] | [INFO] [stdout] 190 | cpus: Cpus<'a>, [INFO] [stdout] | ^^^^ -- supplied 1 lifetime argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 2 lifetime parameters: `'a`, `'proc` [INFO] [stdout] --> src/proc.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Cpus<'a, 'proc: 'a>([Cpu<'a, 'proc>; params::NCPU]); [INFO] [stdout] | ^^^^ -- ----- [INFO] [stdout] help: add missing lifetime argument [INFO] [stdout] | [INFO] [stdout] 190 | cpus: Cpus<'a, 'a>, [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/proc.rs:44:30 [INFO] [stdout] | [INFO] [stdout] 44 | pub proc: Option<&'a mut Proc<'a>>, // the process run on cpu. [INFO] [stdout] | ^^^^ -- supplied 1 lifetime argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 2 lifetime parameters: `'a`, `'b` [INFO] [stdout] --> src/proc.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct Proc<'a, 'b> { [INFO] [stdout] | ^^^^ -- -- [INFO] [stdout] help: add missing lifetime argument [INFO] [stdout] | [INFO] [stdout] 44 | pub proc: Option<&'a mut Proc<'a, 'a>>, // the process run on cpu. [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/spinlock.rs:9:29 [INFO] [stdout] | [INFO] [stdout] 9 | pub cpu: Option<&'a mut Cpu<'a>>, [INFO] [stdout] | ^^^ -- supplied 1 lifetime argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 2 lifetime parameters: `'a`, `'proc` [INFO] [stdout] --> src/proc.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct Cpu<'a, 'proc: 'a> { [INFO] [stdout] | ^^^ -- ----- [INFO] [stdout] help: add missing lifetime argument [INFO] [stdout] | [INFO] [stdout] 9 | pub cpu: Option<&'a mut Cpu<'a, 'a>>, [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a` [INFO] [stdout] --> src/proc.rs:247:53 [INFO] [stdout] | [INFO] [stdout] 247 | pub fn sleep(&mut self, chan: *const T, lk: &'a mut spinlock::SpinLock<'a>) { [INFO] [stdout] | ^^ undeclared lifetime [INFO] [stdout] | [INFO] [stdout] = help: if you want to experiment with in-band lifetime bindings, add `#![feature(in_band_lifetimes)]` to the crate attributes [INFO] [stdout] help: consider introducing lifetime `'a` here [INFO] [stdout] | [INFO] [stdout] 197 | impl<'a> State<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] help: consider introducing lifetime `'a` here [INFO] [stdout] | [INFO] [stdout] 247 | pub fn sleep<'a, T>(&mut self, chan: *const T, lk: &'a mut spinlock::SpinLock<'a>) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a` [INFO] [stdout] --> src/proc.rs:247:79 [INFO] [stdout] | [INFO] [stdout] 247 | pub fn sleep(&mut self, chan: *const T, lk: &'a mut spinlock::SpinLock<'a>) { [INFO] [stdout] | ^^ undeclared lifetime [INFO] [stdout] | [INFO] [stdout] = help: if you want to experiment with in-band lifetime bindings, add `#![feature(in_band_lifetimes)]` to the crate attributes [INFO] [stdout] help: consider introducing lifetime `'a` here [INFO] [stdout] | [INFO] [stdout] 197 | impl<'a> State<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] help: consider introducing lifetime `'a` here [INFO] [stdout] | [INFO] [stdout] 247 | pub fn sleep<'a, T>(&mut self, chan: *const T, lk: &'a mut spinlock::SpinLock<'a>) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/proc.rs:217:47 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn mycpu(&mut self) -> Result<&'_ mut Cpu<'_>, StateErr> { [INFO] [stdout] | ^^^ -- supplied 1 lifetime argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 2 lifetime parameters: `'a`, `'proc` [INFO] [stdout] --> src/proc.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct Cpu<'a, 'proc: 'a> { [INFO] [stdout] | ^^^ -- ----- [INFO] [stdout] help: add missing lifetime argument [INFO] [stdout] | [INFO] [stdout] 217 | pub fn mycpu(&mut self) -> Result<&'_ mut Cpu<'_, '_>, StateErr> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/proc.rs:226:48 [INFO] [stdout] | [INFO] [stdout] 226 | pub fn myproc(&mut self) -> Result<&'_ mut Proc<'_>, StateErr> { [INFO] [stdout] | ^^^^ -- supplied 1 lifetime argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 2 lifetime parameters: `'a`, `'b` [INFO] [stdout] --> src/proc.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct Proc<'a, 'b> { [INFO] [stdout] | ^^^^ -- -- [INFO] [stdout] help: add missing lifetime argument [INFO] [stdout] | [INFO] [stdout] 226 | pub fn myproc(&mut self) -> Result<&'_ mut Proc<'_, '_>, StateErr> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 13 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0107, E0261, E0435, E0658. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0107`. [INFO] [stdout] [INFO] [stderr] error: could not compile `RotonOS` due to 14 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0435]: attempt to use a non-constant value in a constant [INFO] [stdout] --> src/riscv.rs:505:32 [INFO] [stdout] | [INFO] [stdout] 495 | pub fn lock_test_and_set(p: &mut bool, value: bool) -> bool { [INFO] [stdout] | ----- this would need to be a `const` [INFO] [stdout] ... [INFO] [stdout] 505 | value = const value as u64 [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: const operands for inline assembly are unstable [INFO] [stdout] --> src/riscv.rs:505:18 [INFO] [stdout] | [INFO] [stdout] 505 | value = const value as u64 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #72016 for more information [INFO] [stdout] = help: add `#![feature(asm_const)]` to the crate attributes to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::riscv` [INFO] [stdout] --> src/vm.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use super::riscv; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this trait takes 0 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/spinlock.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | impl<'a> OSFetch<'a> for SpinLock<'a> { [INFO] [stdout] | ^^^^^^^---- help: remove these generics [INFO] [stdout] | | [INFO] [stdout] | expected 0 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: trait defined here, with 0 lifetime parameters [INFO] [stdout] --> src/proc.rs:300:11 [INFO] [stdout] | [INFO] [stdout] 300 | pub trait OSFetch: Sized { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this trait takes 0 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/sleeplock.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | impl<'a> OSFetch<'a> for SleepLock<'a> { [INFO] [stdout] | ^^^^^^^---- help: remove these generics [INFO] [stdout] | | [INFO] [stdout] | expected 0 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: trait defined here, with 0 lifetime parameters [INFO] [stdout] --> src/proc.rs:300:11 [INFO] [stdout] | [INFO] [stdout] 300 | pub trait OSFetch: Sized { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/proc.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Procs<'a>([Proc<'a>; params::NPROC]); [INFO] [stdout] | ^^^^ -- supplied 1 lifetime argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 2 lifetime parameters: `'a`, `'b` [INFO] [stdout] --> src/proc.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct Proc<'a, 'b> { [INFO] [stdout] | ^^^^ -- -- [INFO] [stdout] help: add missing lifetime argument [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Procs<'a>([Proc<'a, 'a>; params::NPROC]); [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/proc.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct InitProc<'a>(Proc<'a>); [INFO] [stdout] | ^^^^ -- supplied 1 lifetime argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 2 lifetime parameters: `'a`, `'b` [INFO] [stdout] --> src/proc.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct Proc<'a, 'b> { [INFO] [stdout] | ^^^^ -- -- [INFO] [stdout] help: add missing lifetime argument [INFO] [stdout] | [INFO] [stdout] 18 | pub struct InitProc<'a>(Proc<'a, 'a>); [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/proc.rs:190:11 [INFO] [stdout] | [INFO] [stdout] 190 | cpus: Cpus<'a>, [INFO] [stdout] | ^^^^ -- supplied 1 lifetime argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 2 lifetime parameters: `'a`, `'proc` [INFO] [stdout] --> src/proc.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Cpus<'a, 'proc: 'a>([Cpu<'a, 'proc>; params::NCPU]); [INFO] [stdout] | ^^^^ -- ----- [INFO] [stdout] help: add missing lifetime argument [INFO] [stdout] | [INFO] [stdout] 190 | cpus: Cpus<'a, 'a>, [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/proc.rs:44:30 [INFO] [stdout] | [INFO] [stdout] 44 | pub proc: Option<&'a mut Proc<'a>>, // the process run on cpu. [INFO] [stdout] | ^^^^ -- supplied 1 lifetime argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 2 lifetime parameters: `'a`, `'b` [INFO] [stdout] --> src/proc.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct Proc<'a, 'b> { [INFO] [stdout] | ^^^^ -- -- [INFO] [stdout] help: add missing lifetime argument [INFO] [stdout] | [INFO] [stdout] 44 | pub proc: Option<&'a mut Proc<'a, 'a>>, // the process run on cpu. [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/spinlock.rs:9:29 [INFO] [stdout] | [INFO] [stdout] 9 | pub cpu: Option<&'a mut Cpu<'a>>, [INFO] [stdout] | ^^^ -- supplied 1 lifetime argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 2 lifetime parameters: `'a`, `'proc` [INFO] [stdout] --> src/proc.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct Cpu<'a, 'proc: 'a> { [INFO] [stdout] | ^^^ -- ----- [INFO] [stdout] help: add missing lifetime argument [INFO] [stdout] | [INFO] [stdout] 9 | pub cpu: Option<&'a mut Cpu<'a, 'a>>, [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a` [INFO] [stdout] --> src/proc.rs:247:53 [INFO] [stdout] | [INFO] [stdout] 247 | pub fn sleep(&mut self, chan: *const T, lk: &'a mut spinlock::SpinLock<'a>) { [INFO] [stdout] | ^^ undeclared lifetime [INFO] [stdout] | [INFO] [stdout] = help: if you want to experiment with in-band lifetime bindings, add `#![feature(in_band_lifetimes)]` to the crate attributes [INFO] [stdout] help: consider introducing lifetime `'a` here [INFO] [stdout] | [INFO] [stdout] 197 | impl<'a> State<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] help: consider introducing lifetime `'a` here [INFO] [stdout] | [INFO] [stdout] 247 | pub fn sleep<'a, T>(&mut self, chan: *const T, lk: &'a mut spinlock::SpinLock<'a>) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0261]: use of undeclared lifetime name `'a` [INFO] [stdout] --> src/proc.rs:247:79 [INFO] [stdout] | [INFO] [stdout] 247 | pub fn sleep(&mut self, chan: *const T, lk: &'a mut spinlock::SpinLock<'a>) { [INFO] [stdout] | ^^ undeclared lifetime [INFO] [stdout] | [INFO] [stdout] = help: if you want to experiment with in-band lifetime bindings, add `#![feature(in_band_lifetimes)]` to the crate attributes [INFO] [stdout] help: consider introducing lifetime `'a` here [INFO] [stdout] | [INFO] [stdout] 197 | impl<'a> State<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] help: consider introducing lifetime `'a` here [INFO] [stdout] | [INFO] [stdout] 247 | pub fn sleep<'a, T>(&mut self, chan: *const T, lk: &'a mut spinlock::SpinLock<'a>) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/proc.rs:217:47 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn mycpu(&mut self) -> Result<&'_ mut Cpu<'_>, StateErr> { [INFO] [stdout] | ^^^ -- supplied 1 lifetime argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 2 lifetime parameters: `'a`, `'proc` [INFO] [stdout] --> src/proc.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct Cpu<'a, 'proc: 'a> { [INFO] [stdout] | ^^^ -- ----- [INFO] [stdout] help: add missing lifetime argument [INFO] [stdout] | [INFO] [stdout] 217 | pub fn mycpu(&mut self) -> Result<&'_ mut Cpu<'_, '_>, StateErr> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0107]: this struct takes 2 lifetime arguments but 1 lifetime argument was supplied [INFO] [stdout] --> src/proc.rs:226:48 [INFO] [stdout] | [INFO] [stdout] 226 | pub fn myproc(&mut self) -> Result<&'_ mut Proc<'_>, StateErr> { [INFO] [stdout] | ^^^^ -- supplied 1 lifetime argument [INFO] [stdout] | | [INFO] [stdout] | expected 2 lifetime arguments [INFO] [stdout] | [INFO] [stdout] note: struct defined here, with 2 lifetime parameters: `'a`, `'b` [INFO] [stdout] --> src/proc.rs:133:12 [INFO] [stdout] | [INFO] [stdout] 133 | pub struct Proc<'a, 'b> { [INFO] [stdout] | ^^^^ -- -- [INFO] [stdout] help: add missing lifetime argument [INFO] [stdout] | [INFO] [stdout] 226 | pub fn myproc(&mut self) -> Result<&'_ mut Proc<'_, '_>, StateErr> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 13 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0107, E0261, E0435, E0658. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0107`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "f02ee4a144d87528599e260a82732773a84ab69ac3e9e7a6e6f77b9723598b8e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f02ee4a144d87528599e260a82732773a84ab69ac3e9e7a6e6f77b9723598b8e", kill_on_drop: false }` [INFO] [stdout] f02ee4a144d87528599e260a82732773a84ab69ac3e9e7a6e6f77b9723598b8e