[INFO] fetching crate holochain_persistence_api 0.0.18... [INFO] checking holochain_persistence_api-0.0.18 against try#7c3a44cf5f95fa5cf164a312bdcf845157af7093 for pr-77325 [INFO] extracting crate holochain_persistence_api 0.0.18 into /workspace/builds/worker-5/source [INFO] validating manifest of crates.io crate holochain_persistence_api 0.0.18 on toolchain 7c3a44cf5f95fa5cf164a312bdcf845157af7093 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+7c3a44cf5f95fa5cf164a312bdcf845157af7093" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate holochain_persistence_api 0.0.18 [INFO] finished tweaking crates.io crate holochain_persistence_api 0.0.18 [INFO] tweaked toml for crates.io crate holochain_persistence_api 0.0.18 written to /workspace/builds/worker-5/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+7c3a44cf5f95fa5cf164a312bdcf845157af7093" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+7c3a44cf5f95fa5cf164a312bdcf845157af7093" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "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" "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:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+7c3a44cf5f95fa5cf164a312bdcf845157af7093" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0cc15d1ced29bc13291cd2eb8f80997ef8d9daa2538ea1d99475dae6f6daedbb [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "0cc15d1ced29bc13291cd2eb8f80997ef8d9daa2538ea1d99475dae6f6daedbb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0cc15d1ced29bc13291cd2eb8f80997ef8d9daa2538ea1d99475dae6f6daedbb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0cc15d1ced29bc13291cd2eb8f80997ef8d9daa2538ea1d99475dae6f6daedbb", kill_on_drop: false }` [INFO] [stdout] 0cc15d1ced29bc13291cd2eb8f80997ef8d9daa2538ea1d99475dae6f6daedbb [INFO] running `Command { std: "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" "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" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+7c3a44cf5f95fa5cf164a312bdcf845157af7093" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6f231f2398bb7dbacba35d24255b1a55e93b43af03e1b476701cb6f87ab6f8fd [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "6f231f2398bb7dbacba35d24255b1a55e93b43af03e1b476701cb6f87ab6f8fd", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling libc v0.2.96 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling typenum v1.13.0 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling proc-macro2 v1.0.27 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling hashbrown v0.9.1 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Compiling syn v1.0.72 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Compiling syn v0.15.31 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking arrayref v0.3.5 [INFO] [stderr] Checking fake-simd v0.1.2 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling itoa v0.4.7 [INFO] [stderr] Compiling holochain_json_api v0.0.23 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Checking sha1 v0.5.0 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking reed-solomon v0.2.1 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Compiling regex v1.1.2 [INFO] [stderr] Compiling holochain_persistence_api v0.0.18 (/opt/rustwide/workdir) [INFO] [stderr] Checking utf8-ranges v1.0.4 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Checking objekt v0.1.2 [INFO] [stderr] Checking maplit v1.0.1 [INFO] [stderr] Checking futures-sink-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling proc-macro2 v0.2.3 [INFO] [stderr] Checking block-buffer v0.3.3 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Compiling itertools v0.7.11 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking hcid v0.0.6 [INFO] [stderr] Checking futures-channel-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling quote v0.6.11 [INFO] [stderr] Checking tiny-keccak v1.5.0 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling indexmap v1.6.2 [INFO] [stderr] Compiling num-bigint v0.4.0 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling num-rational v0.4.0 [INFO] [stderr] Checking base64 v0.10.1 [INFO] [stderr] Compiling quote v0.4.2 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking futures-util-preview v0.3.0-alpha.17 [INFO] [stderr] Checking aho-corasick v0.6.10 [INFO] [stderr] Compiling syn v0.12.15 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Compiling serde_json v1.0.47 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking generic-array v0.9.1 [INFO] [stderr] Checking num-complex v0.4.0 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking digest v0.7.6 [INFO] [stderr] Checking sha2 v0.7.1 [INFO] [stderr] Checking multihash v0.8.0 [INFO] [stderr] Checking chrono v0.4.6 [INFO] [stderr] Checking uuid v0.7.1 [INFO] [stderr] Checking futures-executor-preview v0.3.0-alpha.17 [INFO] [stderr] Compiling holochain_json_derive v0.0.23 [INFO] [stderr] Checking futures-preview v0.3.0-alpha.17 [INFO] [stderr] Checking num v0.4.0 [INFO] [stderr] Checking rust-base58 v0.0.4 [INFO] [stderr] Compiling shrinkwraprs v0.2.1 [INFO] [stderr] Compiling serde_derive v1.0.104 [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/hash.rs:143:10 [INFO] [stdout] | [INFO] [stdout] 143 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:284:51 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:284:59 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:285:50 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:285:58 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:289:59 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] ... | [INFO] [stdout] 289 | | let link_type = REMOVED_LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:289:67 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] ... | [INFO] [stdout] 289 | | let link_type = REMOVED_LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:290:58 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] ... | [INFO] [stdout] 290 | | let link_tag = REMOVED_LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:290:66 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] ... | [INFO] [stdout] 290 | | let link_tag = REMOVED_LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:284:51 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:284:59 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:285:50 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:285:58 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:289:59 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] ... | [INFO] [stdout] 289 | | let link_type = REMOVED_LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:289:67 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] ... | [INFO] [stdout] 289 | | let link_type = REMOVED_LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:290:58 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] ... | [INFO] [stdout] 290 | | let link_tag = REMOVED_LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cas/storage.rs:290:66 [INFO] [stdout] | [INFO] [stdout] 282 | / fn try_from(s: &str) -> Result { [INFO] [stdout] 283 | | if LINK_REGEX.is_match(s) { [INFO] [stdout] 284 | | let link_type = LINK_REGEX.captures(s)?.get(1)?.as_str().to_string(); [INFO] [stdout] 285 | | let link_tag = LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] ... | [INFO] [stdout] 290 | | let link_tag = REMOVED_LINK_REGEX.captures(s)?.get(2)?.as_str().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 297 | | } [INFO] [stdout] 298 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `holochain_persistence_api` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "6f231f2398bb7dbacba35d24255b1a55e93b43af03e1b476701cb6f87ab6f8fd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6f231f2398bb7dbacba35d24255b1a55e93b43af03e1b476701cb6f87ab6f8fd", kill_on_drop: false }` [INFO] [stdout] 6f231f2398bb7dbacba35d24255b1a55e93b43af03e1b476701cb6f87ab6f8fd