[INFO] updating cached repository https://github.com/modulitos/CtCI-rust [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] 8bbaa49c3eca43a77cf1a2cea1b6f98071ad2c78 [INFO] checking modulitos/CtCI-rust against master#b61e69433951e31f7bd746e22f516a48ad41623b for prs-64470-and-65389 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmodulitos%2FCtCI-rust" "/workspace/builds/worker-5/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/modulitos/CtCI-rust on toolchain b61e69433951e31f7bd746e22f516a48ad41623b [INFO] running `"/workspace/cargo-home/bin/cargo" "+b61e69433951e31f7bd746e22f516a48ad41623b" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/modulitos/CtCI-rust [INFO] finished tweaking git repo https://github.com/modulitos/CtCI-rust [INFO] tweaked toml for git repo https://github.com/modulitos/CtCI-rust written to /workspace/builds/worker-5/source/Cargo.toml [INFO] crate git repo https://github.com/modulitos/CtCI-rust already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+b61e69433951e31f7bd746e22f516a48ad41623b" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "+b61e69433951e31f7bd746e22f516a48ad41623b" "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] 00095ca066426132eb5299d39acad26e8e5a62e50ac8f37df65731100325c473 [INFO] running `"docker" "start" "-a" "00095ca066426132eb5299d39acad26e8e5a62e50ac8f37df65731100325c473"` [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Compiling derive_more v0.15.0 [INFO] [stderr] Checking rand_chacha v0.2.1 [INFO] [stderr] Checking rand v0.7.2 [INFO] [stderr] Checking rust-solutions v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `super::List` [INFO] [stderr] --> src/linked_list/second.rs:167:9 [INFO] [stderr] | [INFO] [stderr] 167 | use super::List; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/linked_list/third.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/linked_list/fifth.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/linked_list/refcell_singly.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/stack.rs:115:9 [INFO] [stderr] | [INFO] [stderr] 115 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/binary_search_tree.rs:124:9 [INFO] [stderr] | [INFO] [stderr] 124 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ord`, `Ordering` [INFO] [stderr] --> src/graph.rs:1:16 [INFO] [stderr] | [INFO] [stderr] 1 | use std::cmp::{Ord, Ordering}; [INFO] [stderr] | ^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/graph.rs:178:9 [INFO] [stderr] | [INFO] [stderr] 178 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/binary_tree.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/binary_tree_refcell.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/binary_search_tree_refcell.rs:128:9 [INFO] [stderr] | [INFO] [stderr] 128 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/linked_list/third.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/linked_list/fifth.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ord`, `Ordering` [INFO] [stderr] --> src/graph.rs:1:16 [INFO] [stderr] | [INFO] [stderr] 1 | use std::cmp::{Ord, Ordering}; [INFO] [stderr] | ^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/linked_list/second.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `into_iter` [INFO] [stderr] --> src/linked_list/second.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn into_iter(self) -> IntoIter { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `iter` [INFO] [stderr] --> src/linked_list/second.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | pub fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `iter_mut` [INFO] [stderr] --> src/linked_list/second.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | pub fn iter_mut(&mut self) -> IterMut<'_, T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `push` [INFO] [stderr] --> src/linked_list/second.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn push(&mut self, elem: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek` [INFO] [stderr] --> src/linked_list/second.rs:119:5 [INFO] [stderr] | [INFO] [stderr] 119 | pub fn peek(&self) -> Option<&T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek_mut` [INFO] [stderr] --> src/linked_list/second.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | pub fn peek_mut(&mut self) -> Option<&mut T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/linked_list/third.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `append` [INFO] [stderr] --> src/linked_list/third.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn append(&mut self, elem: T) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `tail` [INFO] [stderr] --> src/linked_list/third.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn tail(&self) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `head` [INFO] [stderr] --> src/linked_list/third.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn head(&self) -> Option<&T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `iter` [INFO] [stderr] --> src/linked_list/third.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn iter(&self) -> Iter<'_, T> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/linked_list/fourth.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | fn new(elem: T) -> Rc> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/linked_list/fourth.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `push_front` [INFO] [stderr] --> src/linked_list/fourth.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn push_front(&mut self, elem: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek_front` [INFO] [stderr] --> src/linked_list/fourth.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | pub fn peek_front(&self) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `prev` [INFO] [stderr] --> src/linked_list/brandon.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | prev: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `tail` [INFO] [stderr] --> src/linked_list/brandon.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | fn tail(node: &NodeRef) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `remove` [INFO] [stderr] --> src/linked_list/brandon.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | fn remove(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/linked_list/brandon.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `append` [INFO] [stderr] --> src/linked_list/brandon.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | fn append(&mut self, new_value: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `tail` [INFO] [stderr] --> src/linked_list/brandon.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | fn tail(&self) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `iter` [INFO] [stderr] --> src/linked_list/brandon.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `list_has_duplicates` [INFO] [stderr] --> src/linked_list/brandon.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | fn list_has_duplicates(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `remove_duplicates` [INFO] [stderr] --> src/linked_list/brandon.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | fn remove_duplicates(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main` [INFO] [stderr] --> src/linked_list/brandon.rs:228:1 [INFO] [stderr] | [INFO] [stderr] 228 | fn main() { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/linked_list/fifth.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn new() -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `push` [INFO] [stderr] --> src/linked_list/fifth.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn push(&mut self, elem: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pop` [INFO] [stderr] --> src/linked_list/fifth.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn pop(&mut self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/bin/ch4-p6_successor.rs:82:9 [INFO] [stderr] | [INFO] [stderr] 82 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] error[E0601]: `main` function not found in crate `ch4_p6_successor` [INFO] [stderr] --> src/bin/ch4-p6_successor.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / use cracking::{RCBinarySearchTree as BinarySearchTree, RCTree as Tree}; [INFO] [stderr] 10 | | use std::rc::Rc; [INFO] [stderr] 11 | | [INFO] [stderr] 12 | | trait FindSuccessor { [INFO] [stderr] ... | [INFO] [stderr] 162 | | } [INFO] [stderr] 163 | | } [INFO] [stderr] | |_^ consider adding a `main` function to `src/bin/ch4-p6_successor.rs` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/stack.rs:153:13 [INFO] [stderr] | [INFO] [stderr] 153 | let mut s: Stack = Stack::new(); [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] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0601`. [INFO] [stderr] error: could not compile `rust-solutions`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: method is never used: `list_has_duplicates` [INFO] [stderr] --> src/linked_list/brandon.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | fn list_has_duplicates(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `main` [INFO] [stderr] --> src/linked_list/brandon.rs:228:1 [INFO] [stderr] | [INFO] [stderr] 228 | fn main() { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0601]: `main` function not found in crate `ch5_p6_conversion` [INFO] [stderr] --> src/bin/ch5-p6_conversion.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | / fn determine_bits_basic(mut n1: u16, mut n2: u16) -> u8 { [INFO] [stderr] 8 | | let mut bits = 0; [INFO] [stderr] 9 | | while n1 > 0 || n2 > 0 { [INFO] [stderr] 10 | | // println!("n1: {:b}", n1); [INFO] [stderr] ... | [INFO] [stderr] 41 | | assert_eq!(determine_bits(0b11101_u16, 0b01111_u16), 2); [INFO] [stderr] 42 | | } [INFO] [stderr] | |_^ consider adding a `main` function to `src/bin/ch5-p6_conversion.rs` [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0601`. [INFO] [stderr] error: could not compile `rust-solutions`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unused import: `TreeNode` [INFO] [stderr] --> src/bin/ch4-p5_validate-bst.rs:8:40 [INFO] [stderr] | [INFO] [stderr] 8 | use cracking::{BinarySearchTree, Tree, TreeNode}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/bin/ch4-p5_validate-bst.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0601]: `main` function not found in crate `ch4_p5_validate_bst` [INFO] [stderr] --> src/bin/ch4-p5_validate-bst.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | / use cracking::{BinarySearchTree, Tree, TreeNode}; [INFO] [stderr] 9 | | [INFO] [stderr] 10 | | trait ValidateBST { [INFO] [stderr] 11 | | fn validate_bst(&self) -> bool; [INFO] [stderr] ... | [INFO] [stderr] 192 | | } [INFO] [stderr] 193 | | } [INFO] [stderr] | |_^ consider adding a `main` function to `src/bin/ch4-p5_validate-bst.rs` [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0601`. [INFO] [stderr] error: could not compile `rust-solutions`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unused imports: `BTreeNode as Node`, `BinaryTree` [INFO] [stderr] --> src/bin/ch4-p10_check-subtree.rs:11:31 [INFO] [stderr] | [INFO] [stderr] 11 | use cracking::{BTree as Tree, BTreeNode as Node, BinaryTree}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/bin/ch4-p10_check-subtree.rs:66:9 [INFO] [stderr] | [INFO] [stderr] 66 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0601]: `main` function not found in crate `ch4_p10_check_subtree` [INFO] [stderr] --> src/bin/ch4-p10_check-subtree.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | / use cracking::{BTree as Tree, BTreeNode as Node, BinaryTree}; [INFO] [stderr] 12 | | [INFO] [stderr] 13 | | // Uses a string comparison approach - serialize the trees into [INFO] [stderr] 14 | | // strings, then check whether the substree's string is contained [INFO] [stderr] ... | [INFO] [stderr] 124 | | } [INFO] [stderr] 125 | | } [INFO] [stderr] | |_^ consider adding a `main` function to `src/bin/ch4-p10_check-subtree.rs` [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0601`. [INFO] [stderr] error: could not compile `rust-solutions`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "00095ca066426132eb5299d39acad26e8e5a62e50ac8f37df65731100325c473"` [INFO] running `"docker" "rm" "-f" "00095ca066426132eb5299d39acad26e8e5a62e50ac8f37df65731100325c473"` [INFO] [stdout] 00095ca066426132eb5299d39acad26e8e5a62e50ac8f37df65731100325c473