[INFO] cloning repository https://github.com/esdras-santos/data_structures_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/esdras-santos/data_structures_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fesdras-santos%2Fdata_structures_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fesdras-santos%2Fdata_structures_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ff1c3afae6a5eeb47c1c6ec22bce5390e8381a39 [INFO] testing esdras-santos/data_structures_rust against 1.59.0 for beta-1.60-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fesdras-santos%2Fdata_structures_rust" "/workspace/builds/worker-108/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-108/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/esdras-santos/data_structures_rust on toolchain 1.59.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.59.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/esdras-santos/data_structures_rust [INFO] finished tweaking git repo https://github.com/esdras-santos/data_structures_rust [INFO] tweaked toml for git repo https://github.com/esdras-santos/data_structures_rust written to /workspace/builds/worker-108/source/Cargo.toml [INFO] crate git repo https://github.com/esdras-santos/data_structures_rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.59.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-108/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-108/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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+1.59.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6c09006ae31b1f2b89376f62b41b5045d739de17c7a441f950dcb911ad6d5c09 [INFO] running `Command { std: "docker" "start" "-a" "6c09006ae31b1f2b89376f62b41b5045d739de17c7a441f950dcb911ad6d5c09", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6c09006ae31b1f2b89376f62b41b5045d739de17c7a441f950dcb911ad6d5c09", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6c09006ae31b1f2b89376f62b41b5045d739de17c7a441f950dcb911ad6d5c09", kill_on_drop: false }` [INFO] [stdout] 6c09006ae31b1f2b89376f62b41b5045d739de17c7a441f950dcb911ad6d5c09 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-108/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-108/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=warn" "-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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+1.59.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2602b8eb4094d4936f660e15d518786bcc1c27a66b9e6c3a395c1ffded8b405d [INFO] running `Command { std: "docker" "start" "-a" "2602b8eb4094d4936f660e15d518786bcc1c27a66b9e6c3a395c1ffded8b405d", kill_on_drop: false }` [INFO] [stderr] Compiling data_structures v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0425]: cannot find function `height_tree` in this scope [INFO] [stdout] --> src/structures/binary_search_tree.rs:144:16 [INFO] [stdout] | [INFO] [stdout] 144 | return height_tree(self.root); [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> src/structures/priority_queue.rs:90:9 [INFO] [stdout] | [INFO] [stdout] 90 | while true{ [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(while_true)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/structures/binary_search_tree.rs:33:26 [INFO] [stdout] | [INFO] [stdout] 23 | impl BinarySearchTree { [INFO] [stdout] | - this type parameter [INFO] [stdout] ... [INFO] [stdout] 33 | if self.contains(&elem) { [INFO] [stdout] | ^^^^^ expected type parameter `T`, found `&T` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `T` [INFO] [stdout] found reference `&T` [INFO] [stdout] help: consider removing the borrow [INFO] [stdout] | [INFO] [stdout] 33 - if self.contains(&elem) { [INFO] [stdout] 33 + if self.contains(elem) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/structures/binary_search_tree.rs:36:25 [INFO] [stdout] | [INFO] [stdout] 36 | self.root = self.add_node(self.root ,elem); [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Option`, found struct `Node` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option>` [INFO] [stdout] found struct `Node<_>` [INFO] [stdout] help: try wrapping the expression in `Some` [INFO] [stdout] | [INFO] [stdout] 36 | self.root = Some(self.add_node(self.root ,elem)); [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/structures/binary_search_tree.rs:44:43 [INFO] [stdout] | [INFO] [stdout] 23 | impl BinarySearchTree { [INFO] [stdout] | - this type parameter [INFO] [stdout] ... [INFO] [stdout] 44 | let aux = Node::new(None,None,elem); [INFO] [stdout] | ^^^^ expected enum `Option`, found type parameter `T` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option<_>` [INFO] [stdout] found type parameter `T` [INFO] [stdout] help: try wrapping the expression in `Some` [INFO] [stdout] | [INFO] [stdout] 44 | let aux = Node::new(None,None,Some(elem)); [INFO] [stdout] | +++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `<` cannot be applied to type `T` [INFO] [stdout] --> src/structures/binary_search_tree.rs:47:21 [INFO] [stdout] | [INFO] [stdout] 47 | if elem < node.unwrap().data.unwrap(){ [INFO] [stdout] | ---- ^ --------------------------- T [INFO] [stdout] | | [INFO] [stdout] | T [INFO] [stdout] | [INFO] [stdout] help: consider restricting type parameter `T` [INFO] [stdout] | [INFO] [stdout] 23 | impl BinarySearchTree { [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/structures/binary_search_tree.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 42 | fn add_node(&self, mut node: Option>, elem: T) -> Node{ [INFO] [stdout] | ------- expected `Node` because of return type [INFO] [stdout] ... [INFO] [stdout] 56 | node [INFO] [stdout] | ^^^^ expected struct `Node`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Node<_>` [INFO] [stdout] found enum `Option>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/structures/binary_search_tree.rs:60:26 [INFO] [stdout] | [INFO] [stdout] 23 | impl BinarySearchTree { [INFO] [stdout] | - this type parameter [INFO] [stdout] ... [INFO] [stdout] 60 | if self.contains(&elem){ [INFO] [stdout] | ^^^^^ expected type parameter `T`, found `&T` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `T` [INFO] [stdout] found reference `&T` [INFO] [stdout] help: consider removing the borrow [INFO] [stdout] | [INFO] [stdout] 60 - if self.contains(&elem){ [INFO] [stdout] 60 + if self.contains(elem){ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/structures/binary_search_tree.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 60 | / if self.contains(&elem){ [INFO] [stdout] 61 | | self.root = self.remove_node(self.root, elem); [INFO] [stdout] 62 | | self.node_count -= 1; [INFO] [stdout] 63 | | true [INFO] [stdout] | | ^^^^ expected `()`, found `bool` [INFO] [stdout] 64 | | } [INFO] [stdout] | |_________- expected this to be `()` [INFO] [stdout] | [INFO] [stdout] help: you might have meant to return this value [INFO] [stdout] | [INFO] [stdout] 63 | return true; [INFO] [stdout] | ++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/structures/binary_search_tree.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 69 | / if node.is_none(){ [INFO] [stdout] 70 | | None [INFO] [stdout] | | ^^^^ expected `()`, found enum `Option` [INFO] [stdout] 71 | | } [INFO] [stdout] | |_________- expected this to be `()` [INFO] [stdout] | [INFO] [stdout] = note: expected unit type `()` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] help: you might have meant to return this value [INFO] [stdout] | [INFO] [stdout] 70 | return None; [INFO] [stdout] | ++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `<` cannot be applied to type `T` [INFO] [stdout] --> src/structures/binary_search_tree.rs:73:17 [INFO] [stdout] | [INFO] [stdout] 73 | if elem < node.unwrap().data.unwrap(){ [INFO] [stdout] | ---- ^ --------------------------- T [INFO] [stdout] | | [INFO] [stdout] | T [INFO] [stdout] | [INFO] [stdout] help: consider restricting type parameter `T` [INFO] [stdout] | [INFO] [stdout] 23 | impl BinarySearchTree { [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/structures/binary_search_tree.rs:75:48 [INFO] [stdout] | [INFO] [stdout] 75 | node.unwrap().left = Some(Box::new(self.remove_node(Some(aux), elem))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Node`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Node<_>` [INFO] [stdout] found enum `Option>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `>` cannot be applied to type `T` [INFO] [stdout] --> src/structures/binary_search_tree.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | } else if elem > node.unwrap().data.unwrap(){ [INFO] [stdout] | ---- ^ --------------------------- T [INFO] [stdout] | | [INFO] [stdout] | T [INFO] [stdout] | [INFO] [stdout] help: consider restricting type parameter `T` [INFO] [stdout] | [INFO] [stdout] 23 | impl BinarySearchTree { [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/structures/binary_search_tree.rs:78:49 [INFO] [stdout] | [INFO] [stdout] 78 | node.unwrap().right = Some(Box::new(self.remove_node(Some(aux), elem))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Node`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Node<_>` [INFO] [stdout] found enum `Option>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `Node` in the current scope [INFO] [stdout] --> src/structures/binary_search_tree.rs:93:42 [INFO] [stdout] | [INFO] [stdout] 7 | struct Node{ [INFO] [stdout] | -------------- method `unwrap` not found for this [INFO] [stdout] ... [INFO] [stdout] 93 | node.unwrap().data = tmp.unwrap().data; [INFO] [stdout] | ^^^^^^ method not found in `Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `unwrap` found for struct `Node` in the current scope [INFO] [stdout] --> src/structures/binary_search_tree.rs:94:71 [INFO] [stdout] | [INFO] [stdout] 7 | struct Node{ [INFO] [stdout] | -------------- method `unwrap` not found for this [INFO] [stdout] ... [INFO] [stdout] 94 | node.unwrap().right = self.remove_node(Some(aux), tmp.unwrap().data); [INFO] [stdout] | ^^^^^^ method not found in `Node` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/structures/binary_search_tree.rs:94:39 [INFO] [stdout] | [INFO] [stdout] 94 | node.unwrap().right = self.remove_node(Some(aux), tmp.unwrap().data); [INFO] [stdout] | ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Box`, found struct `Node` [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option>>` [INFO] [stdout] found enum `Option>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/structures/binary_search_tree.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 128 | / if node.is_none(){ [INFO] [stdout] 129 | | false [INFO] [stdout] | | ^^^^^ expected `()`, found `bool` [INFO] [stdout] 130 | | } [INFO] [stdout] | |_________- expected this to be `()` [INFO] [stdout] | [INFO] [stdout] help: you might have meant to return this value [INFO] [stdout] | [INFO] [stdout] 129 | return false; [INFO] [stdout] | ++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `<` cannot be applied to type `T` [INFO] [stdout] --> src/structures/binary_search_tree.rs:132:17 [INFO] [stdout] | [INFO] [stdout] 132 | if elem < node.unwrap().data.unwrap(){ [INFO] [stdout] | ---- ^ --------------------------- T [INFO] [stdout] | | [INFO] [stdout] | T [INFO] [stdout] | [INFO] [stdout] help: consider restricting type parameter `T` [INFO] [stdout] | [INFO] [stdout] 23 | impl BinarySearchTree { [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/structures/binary_search_tree.rs:134:39 [INFO] [stdout] | [INFO] [stdout] 134 | return self.contains_node(aux.left, elem); [INFO] [stdout] | ^^^^^^^^ expected struct `Node`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option>` [INFO] [stdout] found enum `Option>>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `>` cannot be applied to type `T` [INFO] [stdout] --> src/structures/binary_search_tree.rs:135:24 [INFO] [stdout] | [INFO] [stdout] 135 | } else if elem > node.unwrap().data.unwrap(){ [INFO] [stdout] | ---- ^ --------------------------- T [INFO] [stdout] | | [INFO] [stdout] | T [INFO] [stdout] | [INFO] [stdout] help: consider restricting type parameter `T` [INFO] [stdout] | [INFO] [stdout] 23 | impl BinarySearchTree { [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/structures/binary_search_tree.rs:137:39 [INFO] [stdout] | [INFO] [stdout] 137 | return self.contains_node(aux.right, elem); [INFO] [stdout] | ^^^^^^^^^ expected struct `Node`, found struct `Box` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `Option>` [INFO] [stdout] found enum `Option>>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 21 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0369, E0425, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `data_structures` due to 22 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "2602b8eb4094d4936f660e15d518786bcc1c27a66b9e6c3a395c1ffded8b405d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2602b8eb4094d4936f660e15d518786bcc1c27a66b9e6c3a395c1ffded8b405d", kill_on_drop: false }` [INFO] [stdout] 2602b8eb4094d4936f660e15d518786bcc1c27a66b9e6c3a395c1ffded8b405d