[INFO] cloning repository https://github.com/NattapongSiri/permutator [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NattapongSiri/permutator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNattapongSiri%2Fpermutator"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNattapongSiri%2Fpermutator'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] f5d9a250ef7e791daff1945098cbb9c0130a606d [INFO] checking NattapongSiri/permutator against master#2748a9fd93dd1a00a4521f4f16de5befbf77f6cd for pr-62262-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNattapongSiri%2Fpermutator" "/workspace/builds/worker-1/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/NattapongSiri/permutator on toolchain 2748a9fd93dd1a00a4521f4f16de5befbf77f6cd [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/NattapongSiri/permutator [INFO] finished tweaking git repo https://github.com/NattapongSiri/permutator [INFO] tweaked toml for git repo https://github.com/NattapongSiri/permutator written to /workspace/builds/worker-1/source/Cargo.toml [INFO] crate git repo https://github.com/NattapongSiri/permutator already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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=forbid" "-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" "+2748a9fd93dd1a00a4521f4f16de5befbf77f6cd" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] c088107c41fc39211ad930d6ae502c520701e36a2a00890306cd6eb985af6ff7 [INFO] running `"docker" "start" "-a" "c088107c41fc39211ad930d6ae502c520701e36a2a00890306cd6eb985af6ff7"` [INFO] [stderr] Compiling num-bigint v0.2.1 [INFO] [stderr] Checking num-complex v0.2.1 [INFO] [stderr] Checking num-iter v0.1.37 [INFO] [stderr] Checking num-rational v0.2.1 [INFO] [stderr] Checking num v0.2.0 [INFO] [stderr] Checking permutator v0.3.3 (/opt/rustwide/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:1455:106 [INFO] [stderr] | [INFO] [stderr] 1455 | fn move_cur_res<'a, T, R>(c : &mut [usize], domain : &'a [T], result : &mut R, next_result_fn : &mut FnMut(usize, usize, &mut R)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(usize, usize, &mut R)` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/copy/mod.rs:5875:156 [INFO] [stderr] | [INFO] [stderr] 5875 | let data : &[&[u8]]= &[&[1, 2], &[3, 4, 5, 6], &[7, 8, 9], &[10, 11, 12,], &[13, 14, 15], &[16, 17, 18, 19], &[20, 21, 22], &[23, 24, 25, 26, 27]];; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolon)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/copy/mod.rs:5894:156 [INFO] [stderr] | [INFO] [stderr] 5894 | let data : &[&[u8]]= &[&[1, 2], &[3, 4, 5, 6], &[7, 8, 9], &[10, 11, 12,], &[13, 14, 15], &[16, 17, 18, 19], &[20, 21, 22], &[23, 24, 25, 26, 27]];; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:6676:122 [INFO] [stderr] | [INFO] [stderr] 6676 | unsafe fn start_combination_process<'a>(data : &'a[i32], cur_result : *mut [i32], k : usize, consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:6701:37 [INFO] [stderr] | [INFO] [stderr] 6701 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:6734:130 [INFO] [stderr] | [INFO] [stderr] 6734 | fn start_combination_process<'a>(data : &'a[i32], cur_result : Rc>, k : usize, consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:6757:33 [INFO] [stderr] | [INFO] [stderr] 6757 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:6903:33 [INFO] [stderr] | [INFO] [stderr] 6903 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:6940:122 [INFO] [stderr] | [INFO] [stderr] 6940 | unsafe fn start_cartesian_product_process<'a>(data : &'a[&'a[i32]], cur_result : *mut [i32], consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:6960:37 [INFO] [stderr] | [INFO] [stderr] 6960 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:6990:128 [INFO] [stderr] | [INFO] [stderr] 6990 | unsafe fn start_cartesian_product_process<'a>(data : &'a[i32], n : usize, cur_result : *mut [i32], consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:7017:37 [INFO] [stderr] | [INFO] [stderr] 7017 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:7046:131 [INFO] [stderr] | [INFO] [stderr] 7046 | fn start_cartesian_product_process<'a>(data : &'a[&'a[i32]], cur_result : Rc>, consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:7064:33 [INFO] [stderr] | [INFO] [stderr] 7064 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:7093:137 [INFO] [stderr] | [INFO] [stderr] 7093 | fn start_cartesian_product_process<'a>(data : &'a[i32], n : usize, cur_result : Rc>, consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:7112:33 [INFO] [stderr] | [INFO] [stderr] 7112 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:7142:131 [INFO] [stderr] | [INFO] [stderr] 7142 | fn start_cartesian_product_process<'a>(data : &'a[&'a[i32]], cur_result : Rc>, consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:7161:33 [INFO] [stderr] | [INFO] [stderr] 7161 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:7348:124 [INFO] [stderr] | [INFO] [stderr] 7348 | unsafe fn start_k_permutation_process<'a>(data : &'a[i32], cur_result : *mut [i32], k : usize, consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:7368:37 [INFO] [stderr] | [INFO] [stderr] 7368 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:7397:133 [INFO] [stderr] | [INFO] [stderr] 7397 | fn start_k_permutation_process<'a>(data : &'a[i32], cur_result : Rc>, k : usize, consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:7421:33 [INFO] [stderr] | [INFO] [stderr] 7421 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/copy/mod.rs:7462:33 [INFO] [stderr] | [INFO] [stderr] 7462 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:1455:106 [INFO] [stderr] | [INFO] [stderr] 1455 | fn move_cur_res<'a, T, R>(c : &mut [usize], domain : &'a [T], result : &mut R, next_result_fn : &mut FnMut(usize, usize, &mut R)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(usize, usize, &mut R)` [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/lib.rs:6869:84 [INFO] [stderr] | [INFO] [stderr] 6869 | let data : &[&[u8]]= &[&[1, 2], &[3, 4, 5, 6], &[7, 8, 9], &[10, 11, 12,]];; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/lib.rs:6888:84 [INFO] [stderr] | [INFO] [stderr] 6888 | let data : &[&[u8]]= &[&[1, 2], &[3, 4, 5, 6], &[7, 8, 9], &[10, 11, 12,]];; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:7905:126 [INFO] [stderr] | [INFO] [stderr] 7905 | unsafe fn start_combination_process<'a>(data : &'a[i32], cur_result : *mut [&'a i32], k : usize, consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:7930:37 [INFO] [stderr] | [INFO] [stderr] 7930 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:7963:134 [INFO] [stderr] | [INFO] [stderr] 7963 | fn start_combination_process<'a>(data : &'a[i32], cur_result : Rc>, k : usize, consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:7986:33 [INFO] [stderr] | [INFO] [stderr] 7986 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8132:33 [INFO] [stderr] | [INFO] [stderr] 8132 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8169:126 [INFO] [stderr] | [INFO] [stderr] 8169 | unsafe fn start_cartesian_product_process<'a>(data : &'a[&'a[i32]], cur_result : *mut [&'a i32], consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8189:37 [INFO] [stderr] | [INFO] [stderr] 8189 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8219:132 [INFO] [stderr] | [INFO] [stderr] 8219 | unsafe fn start_cartesian_product_process<'a>(data : &'a[i32], n : usize, cur_result : *mut [&'a i32], consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8246:37 [INFO] [stderr] | [INFO] [stderr] 8246 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8275:135 [INFO] [stderr] | [INFO] [stderr] 8275 | fn start_cartesian_product_process<'a>(data : &'a[&'a[i32]], cur_result : Rc>, consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8293:33 [INFO] [stderr] | [INFO] [stderr] 8293 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8322:141 [INFO] [stderr] | [INFO] [stderr] 8322 | fn start_cartesian_product_process<'a>(data : &'a[i32], n : usize, cur_result : Rc>, consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8341:33 [INFO] [stderr] | [INFO] [stderr] 8341 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8371:135 [INFO] [stderr] | [INFO] [stderr] 8371 | fn start_cartesian_product_process<'a>(data : &'a[&'a[i32]], cur_result : Rc>, consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8390:33 [INFO] [stderr] | [INFO] [stderr] 8390 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8577:128 [INFO] [stderr] | [INFO] [stderr] 8577 | unsafe fn start_k_permutation_process<'a>(data : &'a[i32], cur_result : *mut [&'a i32], k : usize, consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8597:37 [INFO] [stderr] | [INFO] [stderr] 8597 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8626:137 [INFO] [stderr] | [INFO] [stderr] 8626 | fn start_k_permutation_process<'a>(data : &'a[i32], cur_result : Rc>, k : usize, consumers : Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Consumer + 'a` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8650:33 [INFO] [stderr] | [INFO] [stderr] 8650 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:8691:33 [INFO] [stderr] | [INFO] [stderr] 8691 | let consumers : Vec> = vec![Box::new(worker1), Box::new(worker2)]; [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn Consumer` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 13.29s [INFO] running `"docker" "inspect" "c088107c41fc39211ad930d6ae502c520701e36a2a00890306cd6eb985af6ff7"` [INFO] running `"docker" "rm" "-f" "c088107c41fc39211ad930d6ae502c520701e36a2a00890306cd6eb985af6ff7"` [INFO] [stdout] c088107c41fc39211ad930d6ae502c520701e36a2a00890306cd6eb985af6ff7