[INFO] cloning repository https://github.com/mohe2015/crdt-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mohe2015/crdt-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmohe2015%2Fcrdt-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmohe2015%2Fcrdt-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 72dfa217323664e5ff4d97ddd21242f84f453aca [INFO] testing mohe2015/crdt-rust against beta-2025-04-13 for beta-1.87-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmohe2015%2Fcrdt-rust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mohe2015/crdt-rust on toolchain beta-2025-04-13 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-04-13" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/mohe2015/crdt-rust [INFO] finished tweaking git repo https://github.com/mohe2015/crdt-rust [INFO] tweaked toml for git repo https://github.com/mohe2015/crdt-rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/mohe2015/crdt-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-04-13" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded arbitrary v1.1.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-04-13" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 08cdd2f037102cf06071f7085151f25ed60255f1d7b117f95fc7373edc4aca9a [INFO] running `Command { std: "docker" "start" "-a" "08cdd2f037102cf06071f7085151f25ed60255f1d7b117f95fc7373edc4aca9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "08cdd2f037102cf06071f7085151f25ed60255f1d7b117f95fc7373edc4aca9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "08cdd2f037102cf06071f7085151f25ed60255f1d7b117f95fc7373edc4aca9a", kill_on_drop: false }` [INFO] [stdout] 08cdd2f037102cf06071f7085151f25ed60255f1d7b117f95fc7373edc4aca9a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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" "RUSTDOCFLAGS=--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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-04-13" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] aa3a994df2f8a3c98ecb8aada4c9110920aa3d35654a36457f93fd008a69d709 [INFO] running `Command { std: "docker" "start" "-a" "aa3a994df2f8a3c98ecb8aada4c9110920aa3d35654a36457f93fd008a69d709", kill_on_drop: false }` [INFO] [stderr] Compiling by_address v1.0.4 [INFO] [stderr] Compiling arbitrary v1.1.3 [INFO] [stderr] Compiling crdt v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/lib.rs:20:50 [INFO] [stdout] | [INFO] [stdout] 20 | use std::{cell::RefCell, collections::{BTreeSet, HashSet}, rc::Rc, iter::Sum}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: can't compare `AddOrRemove` with `AddOrRemove` [INFO] [stdout] --> src/lib.rs:166:10 [INFO] [stdout] | [INFO] [stdout] 166 | #[derive(PartialOrd)] [INFO] [stdout] | ^^^^^^^^^^ no implementation for `AddOrRemove == AddOrRemove` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq` is not implemented for `AddOrRemove` [INFO] [stdout] note: required by a bound in `PartialOrd` [INFO] [stdout] --> /rustc/a5948295b4bf4c6199457f1227e5d8f6e6b9f948/library/core/src/cmp.rs:1340:1 [INFO] [stdout] help: consider annotating `AddOrRemove` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 167 + #[derive(PartialEq)] [INFO] [stdout] 168 | pub enum AddOrRemove { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AddOrRemove: Ord` is not satisfied [INFO] [stdout] --> src/lib.rs:173:60 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn observed_remove_set(iterator: impl Iterator>>>>>) -> BTreeSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Ord` is not implemented for `AddOrRemove` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `DAGNode` [INFO] [stdout] --> src/lib.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct DAGNode [INFO] [stdout] | ------- required by a bound in this struct [INFO] [stdout] ... [INFO] [stdout] 95 | T: Ord, [INFO] [stdout] | ^^^ required by this bound in `DAGNode` [INFO] [stdout] help: consider annotating `AddOrRemove` with `#[derive(Ord)]` [INFO] [stdout] | [INFO] [stdout] 167 + #[derive(Ord)] [INFO] [stdout] 168 | pub enum AddOrRemove { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AddOrRemove: Ord` is not satisfied [INFO] [stdout] --> src/lib.rs:174:45 [INFO] [stdout] | [INFO] [stdout] 174 | iterator.fold(BTreeSet::new(), |result, v| { [INFO] [stdout] | ^ the trait `Ord` is not implemented for `AddOrRemove` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `DAGNode` [INFO] [stdout] --> src/lib.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct DAGNode [INFO] [stdout] | ------- required by a bound in this struct [INFO] [stdout] ... [INFO] [stdout] 95 | T: Ord, [INFO] [stdout] | ^^^ required by this bound in `DAGNode` [INFO] [stdout] help: consider annotating `AddOrRemove` with `#[derive(Ord)]` [INFO] [stdout] | [INFO] [stdout] 167 + #[derive(Ord)] [INFO] [stdout] 168 | pub enum AddOrRemove { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AddOrRemove: Ord` is not satisfied [INFO] [stdout] --> src/lib.rs:175:15 [INFO] [stdout] | [INFO] [stdout] 175 | match v.borrow().current_data { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Ord` is not implemented for `AddOrRemove` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `DAGNode` [INFO] [stdout] --> src/lib.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct DAGNode [INFO] [stdout] | ------- required by a bound in this struct [INFO] [stdout] ... [INFO] [stdout] 95 | T: Ord, [INFO] [stdout] | ^^^ required by this bound in `DAGNode` [INFO] [stdout] help: consider annotating `AddOrRemove` with `#[derive(Ord)]` [INFO] [stdout] | [INFO] [stdout] 167 + #[derive(Ord)] [INFO] [stdout] 168 | pub enum AddOrRemove { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/lib.rs:177:17 [INFO] [stdout] | [INFO] [stdout] 177 | result.insert(x) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ expected `BTreeSet`, found `bool` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `BTreeSet` [INFO] [stdout] found type `bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/lib.rs:180:17 [INFO] [stdout] | [INFO] [stdout] 180 | result.remove(&x) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ expected `BTreeSet`, found `bool` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `BTreeSet` [INFO] [stdout] found type `bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `graphs` [INFO] [stdout] --> src/lib.rs:146:17 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn merge(graphs: Vec>>>>>) where [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_graphs` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of dereference of `Ref<'_, DAGNode>` [INFO] [stdout] --> src/lib.rs:155:22 [INFO] [stdout] | [INFO] [stdout] 155 | iterator.map(|d| d.borrow().current_data).max() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ move occurs because value has type `S`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: if `S` implemented `Clone`, you could clone the value [INFO] [stdout] --> src/lib.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 154 | pub fn max(iterator: impl Iterator>>>>) -> Option { [INFO] [stdout] | ^ consider constraining this type parameter with `Clone` [INFO] [stdout] 155 | iterator.map(|d| d.borrow().current_data).max() [INFO] [stdout] | ----------------------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of dereference of `Ref<'_, DAGNode>` [INFO] [stdout] --> src/lib.rs:159:22 [INFO] [stdout] | [INFO] [stdout] 159 | iterator.map(|d| d.borrow().current_data).min() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ move occurs because value has type `S`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: if `S` implemented `Clone`, you could clone the value [INFO] [stdout] --> src/lib.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 158 | pub fn min(iterator: impl Iterator>>>>) -> Option { [INFO] [stdout] | ^ consider constraining this type parameter with `Clone` [INFO] [stdout] 159 | iterator.map(|d| d.borrow().current_data).min() [INFO] [stdout] | ----------------------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of dereference of `Ref<'_, DAGNode>` [INFO] [stdout] --> src/lib.rs:163:22 [INFO] [stdout] | [INFO] [stdout] 163 | iterator.map(|d| d.borrow().current_data).sum() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ move occurs because value has type `S`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] help: if `S` implemented `Clone`, you could clone the value [INFO] [stdout] --> src/lib.rs:162:16 [INFO] [stdout] | [INFO] [stdout] 162 | pub fn counter(iterator: impl Iterator>>>>) -> S { [INFO] [stdout] | ^ consider constraining this type parameter with `Clone` [INFO] [stdout] 163 | iterator.map(|d| d.borrow().current_data).sum() [INFO] [stdout] | ----------------------- you could clone this value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0507. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `crdt` (lib) due to 9 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "aa3a994df2f8a3c98ecb8aada4c9110920aa3d35654a36457f93fd008a69d709", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aa3a994df2f8a3c98ecb8aada4c9110920aa3d35654a36457f93fd008a69d709", kill_on_drop: false }` [INFO] [stdout] aa3a994df2f8a3c98ecb8aada4c9110920aa3d35654a36457f93fd008a69d709