[INFO] updating cached repository https://github.com/adfaure/meta-scheduler [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 08cd53874975a025a038683a3f5f90c7884d4124 [INFO] testing adfaure/meta-scheduler against 1.44.0 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadfaure%2Fmeta-scheduler" "/workspace/builds/worker-8/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/adfaure/meta-scheduler on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/adfaure/meta-scheduler [INFO] finished tweaking git repo https://github.com/adfaure/meta-scheduler [INFO] tweaked toml for git repo https://github.com/adfaure/meta-scheduler written to /workspace/builds/worker-8/source/Cargo.toml [INFO] crate git repo https://github.com/adfaure/meta-scheduler already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "build" "--frozen"` [INFO] [stdout] 02f5b6ab6f8f09ceafb8166cd2c15870b59d365e602db5000d4d618ef7f6313c [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "02f5b6ab6f8f09ceafb8166cd2c15870b59d365e602db5000d4d618ef7f6313c"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling toml v0.2.1 [INFO] [stderr] Compiling error-chain v0.10.0 [INFO] [stderr] Compiling procset v0.1.1 [INFO] [stderr] Compiling memchr v1.0.1 [INFO] [stderr] Compiling uuid v0.4.0 [INFO] [stderr] Compiling thread_local v0.3.4 [INFO] [stderr] Compiling aho-corasick v0.6.3 [INFO] [stderr] Compiling metadeps v1.1.2 [INFO] [stderr] Compiling regex v0.2.2 [INFO] [stderr] Compiling zmq-sys v0.8.1 [INFO] [stderr] Compiling zmq v0.8.1 [INFO] [stderr] Compiling env_logger v0.4.3 [INFO] [stderr] Compiling batsim-rs v0.1.0 [INFO] [stderr] Compiling meta-scheduler v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/common.rs:15:46 [INFO] [stderr] | [INFO] [stderr] 15 | is_rejection_possible: &Fn(Rc) -> bool) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc) -> bool` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IntervalSet`, `ToIntervalSet` [INFO] [stderr] --> src/meta_scheduler.rs:4:30 [INFO] [stderr] | [INFO] [stderr] 4 | use interval_set::{Interval, IntervalSet, ToIntervalSet}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/meta_scheduler.rs:28:39 [INFO] [stderr] | [INFO] [stderr] 28 | schedulers_map: HashMap>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn SubScheduler` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/meta_scheduler.rs:97:32 [INFO] [stderr] | [INFO] [stderr] 97 | let scheduler: Box = [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn SubScheduler` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/meta_scheduler.rs:124:28 [INFO] [stderr] | [INFO] [stderr] 124 | let scheduler: Box = [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn SubScheduler` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/meta_scheduler.rs:374:34 [INFO] [stderr] | [INFO] [stderr] 374 | func: &mut FnMut(&mut Box)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Box)` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/meta_scheduler.rs:374:49 [INFO] [stderr] | [INFO] [stderr] 374 | func: &mut FnMut(&mut Box)) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn SubScheduler` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::VecDeque` [INFO] [stderr] --> src/fcfs_scheduler.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::VecDeque; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp` [INFO] [stderr] --> src/fcfs_scheduler.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::cmp; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/fcfs_scheduler.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `batsim::*` [INFO] [stderr] --> src/fcfs_scheduler.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use batsim::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/fcfs_scheduler.rs:79:46 [INFO] [stderr] | [INFO] [stderr] 79 | is_rejection_possible: &Fn(Rc) -> bool) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc) -> bool` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::LinkedList` [INFO] [stderr] --> src/sub_scheduler.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::collections::LinkedList; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::VecDeque` [INFO] [stderr] --> src/sub_scheduler.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::VecDeque; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sub_scheduler.rs:86:46 [INFO] [stderr] | [INFO] [stderr] 86 | is_rejection_possible: &Fn(Rc) -> bool) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc) -> bool` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/meta_scheduler.rs:284:23 [INFO] [stderr] | [INFO] [stderr] 284 | let cb = |j: Rc| false; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rejected_jobs` [INFO] [stderr] --> src/meta_scheduler.rs:285:17 [INFO] [stderr] | [INFO] [stderr] 285 | let mut rejected_jobs: Vec> = vec![]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rejected_jobs` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `job_id` [INFO] [stderr] --> src/meta_scheduler.rs:295:22 [INFO] [stderr] | [INFO] [stderr] 295 | Some(job_id) => panic!("This scheduler is not allowed to reject jobs"), [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_job_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `all_delayed_allocations` [INFO] [stderr] --> src/meta_scheduler.rs:305:13 [INFO] [stderr] | [INFO] [stderr] 305 | let mut all_delayed_allocations: HashSet> = HashSet::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_delayed_allocations` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j_id` [INFO] [stderr] --> src/meta_scheduler.rs:384:20 [INFO] [stderr] | [INFO] [stderr] 384 | let (w_id, j_id) = Job::split_id(&job.id); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_j_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `nm_res` [INFO] [stderr] --> src/meta_scheduler.rs:401:25 [INFO] [stderr] | [INFO] [stderr] 401 | let nm_res = job.res; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nm_res` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_time` [INFO] [stderr] --> src/fcfs_scheduler.rs:73:37 [INFO] [stderr] | [INFO] [stderr] 73 | fn easy_back_filling(&mut self, current_time: f64) -> Vec> { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `is_rejection_possible` [INFO] [stderr] --> src/fcfs_scheduler.rs:79:22 [INFO] [stderr] | [INFO] [stderr] 79 | is_rejection_possible: &Fn(Rc) -> bool) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_rejection_possible` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/fcfs_scheduler.rs:116:31 [INFO] [stderr] | [INFO] [stderr] 116 | fn job_waiting(&mut self, time: f64, allocation: Rc) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `killed_job` [INFO] [stderr] --> src/fcfs_scheduler.rs:158:30 [INFO] [stderr] | [INFO] [stderr] 158 | fn job_killed(&mut self, killed_job: String) { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_killed_job` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/fcfs_scheduler.rs:177:34 [INFO] [stderr] | [INFO] [stderr] 177 | fn job_backfilled(&mut self, time: f64, job: String) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `job` [INFO] [stderr] --> src/fcfs_scheduler.rs:177:45 [INFO] [stderr] | [INFO] [stderr] 177 | fn job_backfilled(&mut self, time: f64, job: String) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_job` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `allocation` [INFO] [stderr] --> src/fcfs_scheduler.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | fn job_revert_allocation(&self, allocation: Rc) { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allocation` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `allocation` [INFO] [stderr] --> src/fcfs_scheduler.rs:185:38 [INFO] [stderr] | [INFO] [stderr] 185 | fn register_to_allocation(&self, allocation: Rc) { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allocation` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `allocation` [INFO] [stderr] --> src/fcfs_scheduler.rs:190:28 [INFO] [stderr] | [INFO] [stderr] 190 | fn allocate_job(&self, allocation: Rc) -> Rc { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allocation` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/sub_scheduler.rs:85:22 [INFO] [stderr] | [INFO] [stderr] 85 | time: f64, [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `waiting` [INFO] [stderr] --> src/sub_scheduler.rs:140:18 [INFO] [stderr] | [INFO] [stderr] 140 | Some(waiting) => { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_waiting` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `removed_alloc` [INFO] [stderr] --> src/sub_scheduler.rs:213:25 [INFO] [stderr] | [INFO] [stderr] 213 | let removed_alloc = self.jobs_queue.remove(pos); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_removed_alloc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `removed_alloc` [INFO] [stderr] --> src/sub_scheduler.rs:222:25 [INFO] [stderr] | [INFO] [stderr] 222 | let removed_alloc = self.jobs_waiting.remove(pos); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_removed_alloc` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:252:17 [INFO] [stderr] | [INFO] [stderr] 252 | let mut scheduler = self.schedulers_map [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:280:17 [INFO] [stderr] | [INFO] [stderr] 280 | let mut scheduler = self.schedulers_map [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:285:17 [INFO] [stderr] | [INFO] [stderr] 285 | let mut rejected_jobs: Vec> = vec![]; [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:305:13 [INFO] [stderr] | [INFO] [stderr] 305 | let mut all_delayed_allocations: HashSet> = HashSet::new(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:314:17 [INFO] [stderr] | [INFO] [stderr] 314 | let mut scheduler = self.schedulers_map [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:411:34 [INFO] [stderr] | [INFO] [stderr] 411 | ... Some(mut idx_scheduler) =... [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/fcfs_scheduler.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | let mut alloc = self.jobs_running.remove(idx); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/sub_scheduler.rs:93:26 [INFO] [stderr] | [INFO] [stderr] 93 | Some(mut next_allocation) => { [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `max_size` [INFO] [stderr] --> src/fcfs_scheduler.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | max_size: u32, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/common.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | write!(f, "job: {}\t", self.job.id); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/sub_scheduler.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | / match self.jobs_running.first() { [INFO] [stderr] 40 | | Some(job) => write!(f, "jobs running: {} \t", job.0.job.id), [INFO] [stderr] 41 | | None => write!(f, "Jobs running: None \t"), [INFO] [stderr] 42 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/sub_scheduler.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | / match self.jobs_waiting.first() { [INFO] [stderr] 44 | | Some(job) => write!(f, "jobs waiting: {} \t", job.job.id), [INFO] [stderr] 45 | | None => write!(f, "Jobs waiting: None"), [INFO] [stderr] 46 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 46 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 22.78s [INFO] running `"docker" "inspect" "02f5b6ab6f8f09ceafb8166cd2c15870b59d365e602db5000d4d618ef7f6313c"` [INFO] running `"docker" "rm" "-f" "02f5b6ab6f8f09ceafb8166cd2c15870b59d365e602db5000d4d618ef7f6313c"` [INFO] [stdout] 02f5b6ab6f8f09ceafb8166cd2c15870b59d365e602db5000d4d618ef7f6313c [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 20db8180079f52cf61b1cf4be9b0acd4136c92c1b2b3a10ae80a766a56da0805 [INFO] running `"docker" "start" "-a" "20db8180079f52cf61b1cf4be9b0acd4136c92c1b2b3a10ae80a766a56da0805"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling meta-scheduler v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/common.rs:15:46 [INFO] [stderr] | [INFO] [stderr] 15 | is_rejection_possible: &Fn(Rc) -> bool) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc) -> bool` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IntervalSet`, `ToIntervalSet` [INFO] [stderr] --> src/meta_scheduler.rs:4:30 [INFO] [stderr] | [INFO] [stderr] 4 | use interval_set::{Interval, IntervalSet, ToIntervalSet}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/meta_scheduler.rs:28:39 [INFO] [stderr] | [INFO] [stderr] 28 | schedulers_map: HashMap>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn SubScheduler` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/meta_scheduler.rs:97:32 [INFO] [stderr] | [INFO] [stderr] 97 | let scheduler: Box = [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn SubScheduler` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/meta_scheduler.rs:124:28 [INFO] [stderr] | [INFO] [stderr] 124 | let scheduler: Box = [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn SubScheduler` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/meta_scheduler.rs:374:34 [INFO] [stderr] | [INFO] [stderr] 374 | func: &mut FnMut(&mut Box)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Box)` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/meta_scheduler.rs:374:49 [INFO] [stderr] | [INFO] [stderr] 374 | func: &mut FnMut(&mut Box)) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn SubScheduler` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::VecDeque` [INFO] [stderr] --> src/fcfs_scheduler.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::VecDeque; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp` [INFO] [stderr] --> src/fcfs_scheduler.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::cmp; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/fcfs_scheduler.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `batsim::*` [INFO] [stderr] --> src/fcfs_scheduler.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use batsim::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/fcfs_scheduler.rs:79:46 [INFO] [stderr] | [INFO] [stderr] 79 | is_rejection_possible: &Fn(Rc) -> bool) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc) -> bool` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::LinkedList` [INFO] [stderr] --> src/sub_scheduler.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::collections::LinkedList; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::VecDeque` [INFO] [stderr] --> src/sub_scheduler.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::VecDeque; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sub_scheduler.rs:86:46 [INFO] [stderr] | [INFO] [stderr] 86 | is_rejection_possible: &Fn(Rc) -> bool) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc) -> bool` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/meta_scheduler.rs:284:23 [INFO] [stderr] | [INFO] [stderr] 284 | let cb = |j: Rc| false; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rejected_jobs` [INFO] [stderr] --> src/meta_scheduler.rs:285:17 [INFO] [stderr] | [INFO] [stderr] 285 | let mut rejected_jobs: Vec> = vec![]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rejected_jobs` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `job_id` [INFO] [stderr] --> src/meta_scheduler.rs:295:22 [INFO] [stderr] | [INFO] [stderr] 295 | Some(job_id) => panic!("This scheduler is not allowed to reject jobs"), [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_job_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `all_delayed_allocations` [INFO] [stderr] --> src/meta_scheduler.rs:305:13 [INFO] [stderr] | [INFO] [stderr] 305 | let mut all_delayed_allocations: HashSet> = HashSet::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_delayed_allocations` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j_id` [INFO] [stderr] --> src/meta_scheduler.rs:384:20 [INFO] [stderr] | [INFO] [stderr] 384 | let (w_id, j_id) = Job::split_id(&job.id); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_j_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `nm_res` [INFO] [stderr] --> src/meta_scheduler.rs:401:25 [INFO] [stderr] | [INFO] [stderr] 401 | let nm_res = job.res; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nm_res` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_time` [INFO] [stderr] --> src/fcfs_scheduler.rs:73:37 [INFO] [stderr] | [INFO] [stderr] 73 | fn easy_back_filling(&mut self, current_time: f64) -> Vec> { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `is_rejection_possible` [INFO] [stderr] --> src/fcfs_scheduler.rs:79:22 [INFO] [stderr] | [INFO] [stderr] 79 | is_rejection_possible: &Fn(Rc) -> bool) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_rejection_possible` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/fcfs_scheduler.rs:116:31 [INFO] [stderr] | [INFO] [stderr] 116 | fn job_waiting(&mut self, time: f64, allocation: Rc) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `killed_job` [INFO] [stderr] --> src/fcfs_scheduler.rs:158:30 [INFO] [stderr] | [INFO] [stderr] 158 | fn job_killed(&mut self, killed_job: String) { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_killed_job` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/fcfs_scheduler.rs:177:34 [INFO] [stderr] | [INFO] [stderr] 177 | fn job_backfilled(&mut self, time: f64, job: String) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `job` [INFO] [stderr] --> src/fcfs_scheduler.rs:177:45 [INFO] [stderr] | [INFO] [stderr] 177 | fn job_backfilled(&mut self, time: f64, job: String) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_job` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `allocation` [INFO] [stderr] --> src/fcfs_scheduler.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | fn job_revert_allocation(&self, allocation: Rc) { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allocation` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `allocation` [INFO] [stderr] --> src/fcfs_scheduler.rs:185:38 [INFO] [stderr] | [INFO] [stderr] 185 | fn register_to_allocation(&self, allocation: Rc) { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allocation` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `allocation` [INFO] [stderr] --> src/fcfs_scheduler.rs:190:28 [INFO] [stderr] | [INFO] [stderr] 190 | fn allocate_job(&self, allocation: Rc) -> Rc { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allocation` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/sub_scheduler.rs:85:22 [INFO] [stderr] | [INFO] [stderr] 85 | time: f64, [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `waiting` [INFO] [stderr] --> src/sub_scheduler.rs:140:18 [INFO] [stderr] | [INFO] [stderr] 140 | Some(waiting) => { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_waiting` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `removed_alloc` [INFO] [stderr] --> src/sub_scheduler.rs:213:25 [INFO] [stderr] | [INFO] [stderr] 213 | let removed_alloc = self.jobs_queue.remove(pos); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_removed_alloc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `removed_alloc` [INFO] [stderr] --> src/sub_scheduler.rs:222:25 [INFO] [stderr] | [INFO] [stderr] 222 | let removed_alloc = self.jobs_waiting.remove(pos); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_removed_alloc` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:252:17 [INFO] [stderr] | [INFO] [stderr] 252 | let mut scheduler = self.schedulers_map [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:280:17 [INFO] [stderr] | [INFO] [stderr] 280 | let mut scheduler = self.schedulers_map [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:285:17 [INFO] [stderr] | [INFO] [stderr] 285 | let mut rejected_jobs: Vec> = vec![]; [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:305:13 [INFO] [stderr] | [INFO] [stderr] 305 | let mut all_delayed_allocations: HashSet> = HashSet::new(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:314:17 [INFO] [stderr] | [INFO] [stderr] 314 | let mut scheduler = self.schedulers_map [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:411:34 [INFO] [stderr] | [INFO] [stderr] 411 | ... Some(mut idx_scheduler) =... [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/fcfs_scheduler.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | let mut alloc = self.jobs_running.remove(idx); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/sub_scheduler.rs:93:26 [INFO] [stderr] | [INFO] [stderr] 93 | Some(mut next_allocation) => { [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `max_size` [INFO] [stderr] --> src/fcfs_scheduler.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | max_size: u32, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/common.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | write!(f, "job: {}\t", self.job.id); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/sub_scheduler.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | / match self.jobs_running.first() { [INFO] [stderr] 40 | | Some(job) => write!(f, "jobs running: {} \t", job.0.job.id), [INFO] [stderr] 41 | | None => write!(f, "Jobs running: None \t"), [INFO] [stderr] 42 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/sub_scheduler.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | / match self.jobs_waiting.first() { [INFO] [stderr] 44 | | Some(job) => write!(f, "jobs waiting: {} \t", job.job.id), [INFO] [stderr] 45 | | None => write!(f, "Jobs waiting: None"), [INFO] [stderr] 46 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 46 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.45s [INFO] running `"docker" "inspect" "20db8180079f52cf61b1cf4be9b0acd4136c92c1b2b3a10ae80a766a56da0805"` [INFO] running `"docker" "rm" "-f" "20db8180079f52cf61b1cf4be9b0acd4136c92c1b2b3a10ae80a766a56da0805"` [INFO] [stdout] 20db8180079f52cf61b1cf4be9b0acd4136c92c1b2b3a10ae80a766a56da0805 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1.44.0" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] a2687cf516442687ebf85a2de5a14519d948ba4f7ad664711b0531b120e5f1d2 [INFO] running `"docker" "start" "-a" "a2687cf516442687ebf85a2de5a14519d948ba4f7ad664711b0531b120e5f1d2"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/common.rs:15:46 [INFO] [stderr] | [INFO] [stderr] 15 | is_rejection_possible: &Fn(Rc) -> bool) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc) -> bool` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IntervalSet`, `ToIntervalSet` [INFO] [stderr] --> src/meta_scheduler.rs:4:30 [INFO] [stderr] | [INFO] [stderr] 4 | use interval_set::{Interval, IntervalSet, ToIntervalSet}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/meta_scheduler.rs:28:39 [INFO] [stderr] | [INFO] [stderr] 28 | schedulers_map: HashMap>, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn SubScheduler` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/meta_scheduler.rs:97:32 [INFO] [stderr] | [INFO] [stderr] 97 | let scheduler: Box = [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn SubScheduler` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/meta_scheduler.rs:124:28 [INFO] [stderr] | [INFO] [stderr] 124 | let scheduler: Box = [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn SubScheduler` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/meta_scheduler.rs:374:34 [INFO] [stderr] | [INFO] [stderr] 374 | func: &mut FnMut(&mut Box)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Box)` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/meta_scheduler.rs:374:49 [INFO] [stderr] | [INFO] [stderr] 374 | func: &mut FnMut(&mut Box)) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn SubScheduler` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::VecDeque` [INFO] [stderr] --> src/fcfs_scheduler.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::VecDeque; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp` [INFO] [stderr] --> src/fcfs_scheduler.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::cmp; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/fcfs_scheduler.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `batsim::*` [INFO] [stderr] --> src/fcfs_scheduler.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use batsim::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/fcfs_scheduler.rs:79:46 [INFO] [stderr] | [INFO] [stderr] 79 | is_rejection_possible: &Fn(Rc) -> bool) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc) -> bool` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::LinkedList` [INFO] [stderr] --> src/sub_scheduler.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::collections::LinkedList; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::VecDeque` [INFO] [stderr] --> src/sub_scheduler.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::VecDeque; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/sub_scheduler.rs:86:46 [INFO] [stderr] | [INFO] [stderr] 86 | is_rejection_possible: &Fn(Rc) -> bool) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(Rc) -> bool` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j` [INFO] [stderr] --> src/meta_scheduler.rs:284:23 [INFO] [stderr] | [INFO] [stderr] 284 | let cb = |j: Rc| false; [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_j` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rejected_jobs` [INFO] [stderr] --> src/meta_scheduler.rs:285:17 [INFO] [stderr] | [INFO] [stderr] 285 | let mut rejected_jobs: Vec> = vec![]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rejected_jobs` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `job_id` [INFO] [stderr] --> src/meta_scheduler.rs:295:22 [INFO] [stderr] | [INFO] [stderr] 295 | Some(job_id) => panic!("This scheduler is not allowed to reject jobs"), [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_job_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `all_delayed_allocations` [INFO] [stderr] --> src/meta_scheduler.rs:305:13 [INFO] [stderr] | [INFO] [stderr] 305 | let mut all_delayed_allocations: HashSet> = HashSet::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_all_delayed_allocations` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `j_id` [INFO] [stderr] --> src/meta_scheduler.rs:384:20 [INFO] [stderr] | [INFO] [stderr] 384 | let (w_id, j_id) = Job::split_id(&job.id); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_j_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `nm_res` [INFO] [stderr] --> src/meta_scheduler.rs:401:25 [INFO] [stderr] | [INFO] [stderr] 401 | let nm_res = job.res; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nm_res` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current_time` [INFO] [stderr] --> src/fcfs_scheduler.rs:73:37 [INFO] [stderr] | [INFO] [stderr] 73 | fn easy_back_filling(&mut self, current_time: f64) -> Vec> { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `is_rejection_possible` [INFO] [stderr] --> src/fcfs_scheduler.rs:79:22 [INFO] [stderr] | [INFO] [stderr] 79 | is_rejection_possible: &Fn(Rc) -> bool) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_rejection_possible` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/fcfs_scheduler.rs:116:31 [INFO] [stderr] | [INFO] [stderr] 116 | fn job_waiting(&mut self, time: f64, allocation: Rc) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `killed_job` [INFO] [stderr] --> src/fcfs_scheduler.rs:158:30 [INFO] [stderr] | [INFO] [stderr] 158 | fn job_killed(&mut self, killed_job: String) { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_killed_job` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/fcfs_scheduler.rs:177:34 [INFO] [stderr] | [INFO] [stderr] 177 | fn job_backfilled(&mut self, time: f64, job: String) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `job` [INFO] [stderr] --> src/fcfs_scheduler.rs:177:45 [INFO] [stderr] | [INFO] [stderr] 177 | fn job_backfilled(&mut self, time: f64, job: String) { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_job` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `allocation` [INFO] [stderr] --> src/fcfs_scheduler.rs:181:37 [INFO] [stderr] | [INFO] [stderr] 181 | fn job_revert_allocation(&self, allocation: Rc) { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allocation` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `allocation` [INFO] [stderr] --> src/fcfs_scheduler.rs:185:38 [INFO] [stderr] | [INFO] [stderr] 185 | fn register_to_allocation(&self, allocation: Rc) { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allocation` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `allocation` [INFO] [stderr] --> src/fcfs_scheduler.rs:190:28 [INFO] [stderr] | [INFO] [stderr] 190 | fn allocate_job(&self, allocation: Rc) -> Rc { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allocation` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `time` [INFO] [stderr] --> src/sub_scheduler.rs:85:22 [INFO] [stderr] | [INFO] [stderr] 85 | time: f64, [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_time` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `waiting` [INFO] [stderr] --> src/sub_scheduler.rs:140:18 [INFO] [stderr] | [INFO] [stderr] 140 | Some(waiting) => { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_waiting` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `removed_alloc` [INFO] [stderr] --> src/sub_scheduler.rs:213:25 [INFO] [stderr] | [INFO] [stderr] 213 | let removed_alloc = self.jobs_queue.remove(pos); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_removed_alloc` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `removed_alloc` [INFO] [stderr] --> src/sub_scheduler.rs:222:25 [INFO] [stderr] | [INFO] [stderr] 222 | let removed_alloc = self.jobs_waiting.remove(pos); [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_removed_alloc` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:252:17 [INFO] [stderr] | [INFO] [stderr] 252 | let mut scheduler = self.schedulers_map [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:280:17 [INFO] [stderr] | [INFO] [stderr] 280 | let mut scheduler = self.schedulers_map [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:285:17 [INFO] [stderr] | [INFO] [stderr] 285 | let mut rejected_jobs: Vec> = vec![]; [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:305:13 [INFO] [stderr] | [INFO] [stderr] 305 | let mut all_delayed_allocations: HashSet> = HashSet::new(); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:314:17 [INFO] [stderr] | [INFO] [stderr] 314 | let mut scheduler = self.schedulers_map [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/meta_scheduler.rs:411:34 [INFO] [stderr] | [INFO] [stderr] 411 | ... Some(mut idx_scheduler) =... [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/fcfs_scheduler.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | let mut alloc = self.jobs_running.remove(idx); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/sub_scheduler.rs:93:26 [INFO] [stderr] | [INFO] [stderr] 93 | Some(mut next_allocation) => { [INFO] [stderr] | ----^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `max_size` [INFO] [stderr] --> src/fcfs_scheduler.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | max_size: u32, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/common.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | write!(f, "job: {}\t", self.job.id); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/sub_scheduler.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | / match self.jobs_running.first() { [INFO] [stderr] 40 | | Some(job) => write!(f, "jobs running: {} \t", job.0.job.id), [INFO] [stderr] 41 | | None => write!(f, "Jobs running: None \t"), [INFO] [stderr] 42 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/sub_scheduler.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | / match self.jobs_waiting.first() { [INFO] [stderr] 44 | | Some(job) => write!(f, "jobs waiting: {} \t", job.job.id), [INFO] [stderr] 45 | | None => write!(f, "Jobs waiting: None"), [INFO] [stderr] 46 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 46 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.09s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/meta_scheduler-1c20e0f908ed857b [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "a2687cf516442687ebf85a2de5a14519d948ba4f7ad664711b0531b120e5f1d2"` [INFO] running `"docker" "rm" "-f" "a2687cf516442687ebf85a2de5a14519d948ba4f7ad664711b0531b120e5f1d2"` [INFO] [stdout] a2687cf516442687ebf85a2de5a14519d948ba4f7ad664711b0531b120e5f1d2