[INFO] fetching crate docchi_fs 0.8.0...
[INFO] checking docchi_fs-0.8.0 against master#b0696a5160711c068cb1f01b7437db7990d15750 for pr-121848
[INFO] extracting crate docchi_fs 0.8.0 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate docchi_fs 0.8.0 on toolchain b0696a5160711c068cb1f01b7437db7990d15750
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate docchi_fs 0.8.0
[INFO] finished tweaking crates.io crate docchi_fs 0.8.0
[INFO] tweaked toml for crates.io crate docchi_fs 0.8.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded docchi_json5 v0.8.0
[INFO] [stderr]   Downloaded metrohash v1.0.6
[INFO] [stderr]   Downloaded docchi_diff v0.8.0
[INFO] [stderr]   Downloaded with_capacity_safe v0.4.2
[INFO] [stderr]   Downloaded snap v1.1.1
[INFO] [stderr]   Downloaded docchi_core v0.8.0
[INFO] [stderr]   Downloaded docchi_compaction v0.8.0
[INFO] [stderr]   Downloaded docchi_archiver2 v0.8.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 47cff7245b5f3191d18967c0ac38642f48cff0d3165a87691c0cc98d80afe529
[INFO] running `Command { std: "docker" "start" "-a" "47cff7245b5f3191d18967c0ac38642f48cff0d3165a87691c0cc98d80afe529", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "47cff7245b5f3191d18967c0ac38642f48cff0d3165a87691c0cc98d80afe529", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "47cff7245b5f3191d18967c0ac38642f48cff0d3165a87691c0cc98d80afe529", kill_on_drop: false }`
[INFO] [stdout] 47cff7245b5f3191d18967c0ac38642f48cff0d3165a87691c0cc98d80afe529
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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" "RUSTDOCFLAGS=--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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6660ab2a151025701744263ef56f8d3fbfd4a8a61b72780ae48af8fb58dda86e
[INFO] running `Command { std: "docker" "start" "-a" "6660ab2a151025701744263ef56f8d3fbfd4a8a61b72780ae48af8fb58dda86e", kill_on_drop: false }`
[INFO] [stderr]    Compiling thiserror v1.0.58
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling anyhow v1.0.81
[INFO] [stderr]    Compiling ucd-trie v0.1.6
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling snap v1.1.1
[INFO] [stderr]     Checking with_capacity_safe v0.4.2
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]     Checking metrohash v1.0.6
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]    Compiling pest v2.7.8
[INFO] [stderr]     Checking docchi_compaction v0.8.0
[INFO] [stderr]     Checking docchi_archiver2 v0.8.0
[INFO] [stderr]    Compiling pest_meta v2.7.8
[INFO] [stderr]    Compiling pest_generator v2.7.8
[INFO] [stderr]    Compiling pest_derive v2.7.8
[INFO] [stderr]     Checking docchi_json5 v0.8.0
[INFO] [stderr]     Checking docchi_core v0.8.0
[INFO] [stderr]     Checking docchi_diff v0.8.0
[INFO] [stderr]     Checking docchi_fs v0.8.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `tempfile`
[INFO] [stdout]  --> src/test_fs/save_test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tempfile::tempdir;
[INFO] [stdout]   |     ^^^^^^^^ use of undeclared crate or module `tempfile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rand`
[INFO] [stdout]  --> src/test_simple_history/test_simple_diff_files.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::Rng;
[INFO] [stdout]   |     ^^^^ use of undeclared crate or module `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rand`
[INFO] [stdout]  --> src/test_simple_history/test_cumulative_limit_nth.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::Rng;
[INFO] [stdout]   |     ^^^^ use of undeclared crate or module `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rand`
[INFO] [stdout]  --> src/test_simple_history/test_cumulative_limit_count.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::Rng;
[INFO] [stdout]   |     ^^^^ use of undeclared crate or module `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rand`
[INFO] [stdout]  --> src/test_simple_history/test_max_phase0.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::Rng;
[INFO] [stdout]   |     ^^^^ use of undeclared crate or module `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rand`
[INFO] [stdout]  --> src/test_simple_history/test_max_phase0_with_cumu.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::Rng;
[INFO] [stdout]   |     ^^^^ use of undeclared crate or module `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rand`
[INFO] [stdout]  --> src/test_simple_history/test_load_and_save.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::Rng;
[INFO] [stdout]   |     ^^^^ use of undeclared crate or module `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rand`
[INFO] [stdout]  --> src/test_simple_history/simple_diff/sd_data.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::{thread_rng, Rng};
[INFO] [stdout]   |     ^^^^ use of undeclared crate or module `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/test_fs/save_test.rs:39:33
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn save_test() -> FsResult<()> {
[INFO] [stdout]    | ------------------------------ this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 39 |         let b = get_bool(p, "b")?;
[INFO] [stdout]    |                                 ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<(), FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/test_fs/save_test.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn save_test() -> FsResult<()> {
[INFO] [stdout]    | ------------------------------ this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 59 |         let i = get_int(p, "int")?;
[INFO] [stdout]    |                                  ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<(), FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/test_fs/save_test.rs:70:33
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn save_test() -> FsResult<()> {
[INFO] [stdout]    | ------------------------------ this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 70 |         let b = get_bool(p, "b")?;
[INFO] [stdout]    |                                 ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<(), FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/test_fs/save_test.rs:73:34
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn save_test() -> FsResult<()> {
[INFO] [stdout]    | ------------------------------ this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 73 |         let i = get_int(p, "int")?;
[INFO] [stdout]    |                                  ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<(), FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/test_fs/save_test.rs:76:36
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn save_test() -> FsResult<()> {
[INFO] [stdout]    | ------------------------------ this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 76 |         let a = get_int(p, "added")?;
[INFO] [stdout]    |                                    ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<(), FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[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/test_simple_history/simple_diff/sd_data.rs:31:38
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub(crate) fn mutate(&mut self, num : u8) -> FsResult<()>{
[INFO] [stdout]    |     --------------------------------------------------------- this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 31 |             if *self.bytes.get(index)? == 0{ break; }
[INFO] [stdout]    |                                      ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<(), FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[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/test_simple_history/simple_diff/sd_data.rs:36:52
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub(crate) fn mutate(&mut self, num : u8) -> FsResult<()>{
[INFO] [stdout]    |     --------------------------------------------------------- this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 36 |             *self.bytes.get_mut(index + n as usize)? = num;
[INFO] [stdout]    |                                                    ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<(), FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `FsError`
[INFO] [stdout]   --> src/test_simple_history/simple_diff/sd_data.rs:69:78
[INFO] [stdout]    |
[INFO] [stdout] 69 |             Err(anyhow!("error index {} is out of bound len {}", index, len))?
[INFO] [stdout]    |                                                                              ^ the trait `From<anyhow::Error>` is not implemented for `FsError`, which is required by `Result<(), FsError>: FromResidual<Result<Infallible, anyhow::Error>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              <FsError as From<CoreError>>
[INFO] [stdout]              <FsError as From<NouArcError>>
[INFO] [stdout]              <FsError as From<ComError>>
[INFO] [stdout]              <FsError as From<DiffError>>
[INFO] [stdout]              <FsError as From<std::io::Error>>
[INFO] [stdout]              <FsError as From<TryReserveError>>
[INFO] [stdout]              <FsError as From<std::string::String>>
[INFO] [stdout]              <FsError as From<SystemTimeError>>
[INFO] [stdout]              <FsError as From<&str>>
[INFO] [stdout]    = note: required for `Result<(), FsError>` to implement `FromResidual<Result<Infallible, anyhow::Error>>`
[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/test_simple_history/simple_diff/sd_diff.rs:46:30
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub(crate) fn decode_kvals(kvals : &[KVal]) -> FsResult<SdDiff>{
[INFO] [stdout]    |     --------------------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 45 |         let mut iter = kvals.iter();
[INFO] [stdout] 46 |         let len = iter.next()?.as_i64()? as usize;
[INFO] [stdout]    |                              ^ use `.ok_or(...)?` to provide an error compatible with `Result<SdDiff, FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<SdDiff, FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[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/test_simple_history/simple_diff/sd_diff.rs:46:40
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub(crate) fn decode_kvals(kvals : &[KVal]) -> FsResult<SdDiff>{
[INFO] [stdout]    |     --------------------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 45 |         let mut iter = kvals.iter();
[INFO] [stdout] 46 |         let len = iter.next()?.as_i64()? as usize;
[INFO] [stdout]    |                                        ^ use `.ok_or(...)?` to provide an error compatible with `Result<SdDiff, FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<SdDiff, FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[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/test_simple_history/simple_diff/sd_diff.rs:76:32
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub(crate) fn read<'a>(iter : &mut impl Iterator<Item=&'a KVal>) -> FsResult<SdDiffItem>{
[INFO] [stdout]    |     ---------------------------------------------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 76 |         let index = iter.next()?.as_i64()? as usize;
[INFO] [stdout]    |                                ^ use `.ok_or(...)?` to provide an error compatible with `Result<SdDiffItem, FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<SdDiffItem, FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[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/test_simple_history/simple_diff/sd_diff.rs:76:42
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub(crate) fn read<'a>(iter : &mut impl Iterator<Item=&'a KVal>) -> FsResult<SdDiffItem>{
[INFO] [stdout]    |     ---------------------------------------------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 76 |         let index = iter.next()?.as_i64()? as usize;
[INFO] [stdout]    |                                          ^ use `.ok_or(...)?` to provide an error compatible with `Result<SdDiffItem, FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<SdDiffItem, FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[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/test_simple_history/simple_diff/sd_diff.rs:77:32
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub(crate) fn read<'a>(iter : &mut impl Iterator<Item=&'a KVal>) -> FsResult<SdDiffItem>{
[INFO] [stdout]    |     ---------------------------------------------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 76 |         let index = iter.next()?.as_i64()? as usize;
[INFO] [stdout] 77 |         let value = iter.next()?.as_i64()? as u8;
[INFO] [stdout]    |                                ^ use `.ok_or(...)?` to provide an error compatible with `Result<SdDiffItem, FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<SdDiffItem, FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[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/test_simple_history/simple_diff/sd_diff.rs:77:42
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub(crate) fn read<'a>(iter : &mut impl Iterator<Item=&'a KVal>) -> FsResult<SdDiffItem>{
[INFO] [stdout]    |     ---------------------------------------------------------------------------------------- this function returns a `Result`
[INFO] [stdout] 76 |         let index = iter.next()?.as_i64()? as usize;
[INFO] [stdout] 77 |         let value = iter.next()?.as_i64()? as u8;
[INFO] [stdout]    |                                          ^ use `.ok_or(...)?` to provide an error compatible with `Result<SdDiffItem, FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<SdDiffItem, FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/test_simple_history/show_dir_contents_history.rs:13:44
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub(crate) fn show_dir_contents_history<P : AsRef<Path>>(path : P) -> FsResult<Vec<(String, usize)>>{
[INFO] [stdout]    | ---------------------------------------------------------------------------------------------------- this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 13 |         let name = entry.path().file_name()?.to_string_lossy().to_string();
[INFO] [stdout]    |                                            ^ use `.ok_or(...)?` to provide an error compatible with `Result<Vec<(std::string::String, usize)>, FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<Vec<(std::string::String, usize)>, FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `rand`
[INFO] [stdout]   --> src/test_simple_history/test_simple_diff_files.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |                   ^^^^ use of undeclared crate or module `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/test_simple_history/test_simple_diff_files.rs:45:58
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn test_simple_diff_files() -> FsResult<()> {
[INFO] [stdout]    | ------------------------------------------- this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 45 |         let loaded = load(&history.newest_file_path(&dir)?, &history, cache.create_root(), &mut cache, &op)?;
[INFO] [stdout]    |                                                          ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<(), FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `rand`
[INFO] [stdout]   --> src/test_simple_history/test_cumulative_limit_nth.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |                   ^^^^ use of undeclared crate or module `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/test_simple_history/history2/create_file_history2.rs:13:48
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub(crate) fn create_file_history2(dir_path : &Path, hint_max_phase : Option<usize>) -> FsResult<FileHistory2>{
[INFO] [stdout]    | -------------------------------------------------------------------------------------------------------------- this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 13 |         let filename = entry.path().file_name()?.to_string_lossy().to_string();
[INFO] [stdout]    |                                                ^ use `.ok_or(...)?` to provide an error compatible with `Result<FileHistory2, FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<FileHistory2, FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `rand`
[INFO] [stdout]   --> src/test_simple_history/test_cumulative_limit_count.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |                   ^^^^ use of undeclared crate or module `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `rand`
[INFO] [stdout]   --> src/test_simple_history/test_max_phase0.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |                   ^^^^ use of undeclared crate or module `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/test_simple_history/test_max_phase0.rs:42:57
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn test_max_phase0() -> FsResult<()> {
[INFO] [stdout]    | ------------------------------------ this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 42 |         let newest_path = history.newest_file_path(&dir)?;
[INFO] [stdout]    |                                                         ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<(), FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `rand`
[INFO] [stdout]   --> src/test_simple_history/test_max_phase0_with_cumu.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |                   ^^^^ use of undeclared crate or module `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/test_simple_history/test_max_phase0_with_cumu.rs:42:58
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn test_max_phase0_with_cumu() -> FsResult<()> {
[INFO] [stdout]    | ---------------------------------------------- this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 42 |         let loaded = load(&history.newest_file_path(&dir)?, &history, cache.create_root(), &mut cache,&op)?;
[INFO] [stdout]    |                                                          ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<(), FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `rand`
[INFO] [stdout]   --> src/test_simple_history/test_load_and_save.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |                   ^^^^ use of undeclared crate or module `rand`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/test_simple_history/test_load_and_save.rs:42:58
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn test_load_and_save() -> FsResult<()> {
[INFO] [stdout]    | --------------------------------------- this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 42 |         let loaded = load(&history.newest_file_path(&dir)?, &history, cache.create_root(), &mut cache, &op)?;
[INFO] [stdout]    |                                                          ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<(), FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
[INFO] [stdout]   --> src/test_simple_history/test_load_and_save.rs:63:58
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn test_load_and_save() -> FsResult<()> {
[INFO] [stdout]    | --------------------------------------- this function returns a `Result`
[INFO] [stdout] ...
[INFO] [stdout] 63 |         let loaded = load(&history.newest_file_path(&dir)?, &history, cache.create_root(), &mut cache, &op)?;
[INFO] [stdout]    |                                                          ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), FsError>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromResidual<Option<Infallible>>` is not implemented for `Result<(), FsError>`
[INFO] [stdout]    = help: the following other types implement trait `FromResidual<R>`:
[INFO] [stdout]              <Result<T, F> as FromResidual<Yeet<E>>>
[INFO] [stdout]              <Result<T, F> as FromResidual<Result<Infallible, E>>>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ast_bool`, `ast_f64`, and `ast_string` are never used
[INFO] [stdout]   --> src/error.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) trait OptToErr{
[INFO] [stdout]    |                  -------- methods in this trait
[INFO] [stdout] 13 |     fn ast_i64(&self) -> Result<i64, &'static str>;
[INFO] [stdout] 14 |     fn ast_bool(&self) -> Result<bool, &'static str>;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 15 |     fn ast_f64(&self) -> Result<f64, &'static str>;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 16 |     fn ast_string(&self) -> Result<String, &'static str>;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `apply_diff` is never used
[INFO] [stdout]  --> src/imp/history/diff_and_cache/diff_src.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub(crate) trait DiffSrc<V : DiffValue> : Clone{
[INFO] [stdout]   |                  ------- method in this trait
[INFO] [stdout] 5 |     fn create_diff(&self, from: &Self) -> FsResult<V>;
[INFO] [stdout] 6 |     fn apply_diff(&mut self, diff : V) -> FsResult<()>;
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `read_value` is never used
[INFO] [stdout]  --> src/imp/history/diff_and_cache/diff_value.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub(crate) trait DiffValue : Sized{
[INFO] [stdout]   |                  --------- associated function in this trait
[INFO] [stdout] 5 |     fn read_value<R : Read>(read : &mut R) -> FsResult<Self>;
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 35 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `docchi_fs` (lib test) due to 36 previous errors
[INFO] running `Command { std: "docker" "inspect" "6660ab2a151025701744263ef56f8d3fbfd4a8a61b72780ae48af8fb58dda86e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6660ab2a151025701744263ef56f8d3fbfd4a8a61b72780ae48af8fb58dda86e", kill_on_drop: false }`
[INFO] [stdout] 6660ab2a151025701744263ef56f8d3fbfd4a8a61b72780ae48af8fb58dda86e
