[INFO] cloning repository https://github.com/ryota0624/rust_algorithm_picture_book_impl
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ryota0624/rust_algorithm_picture_book_impl" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryota0624%2Frust_algorithm_picture_book_impl", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryota0624%2Frust_algorithm_picture_book_impl'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d5d0eb89bf4a10233f0ed916d3d7a7dec6fd09dc
[INFO] testing ryota0624/rust_algorithm_picture_book_impl against beta-2025-09-21 for beta-1.91-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryota0624%2Frust_algorithm_picture_book_impl" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ryota0624/rust_algorithm_picture_book_impl
[INFO] finished tweaking git repo https://github.com/ryota0624/rust_algorithm_picture_book_impl
[INFO] tweaked toml for git repo https://github.com/ryota0624/rust_algorithm_picture_book_impl written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ryota0624/rust_algorithm_picture_book_impl on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ryota0624/rust_algorithm_picture_book_impl 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-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 971710db4db365fee516edb3690be92b8268ae331f980c355ae78c13f562fc8f
[INFO] running `Command { std: "docker" "start" "-a" "971710db4db365fee516edb3690be92b8268ae331f980c355ae78c13f562fc8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "971710db4db365fee516edb3690be92b8268ae331f980c355ae78c13f562fc8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "971710db4db365fee516edb3690be92b8268ae331f980c355ae78c13f562fc8f", kill_on_drop: false }`
[INFO] [stdout] 971710db4db365fee516edb3690be92b8268ae331f980c355ae78c13f562fc8f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 49ab8944a8c7fe363e210dfebf99331310142625d6871cd47c3d6d379fe69f23
[INFO] running `Command { std: "docker" "start" "-a" "49ab8944a8c7fe363e210dfebf99331310142625d6871cd47c3d6d379fe69f23", kill_on_drop: false }`
[INFO] [stderr]    Compiling rust_algorithm_picture_book_impl v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `sorter_test`
[INFO] [stdout]  --> src/sort/bubble_sort.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::sort::{Sorter, sorter_test};
[INFO] [stdout]   |                           ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sorter_test`
[INFO] [stdout]  --> src/sort/selection_sort.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::sort::{Sorter, sorter_test};
[INFO] [stdout]   |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sorter_test`
[INFO] [stdout]  --> src/sort/insertion_sort.rs:1:27
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::sort::{Sorter, sorter_test};
[INFO] [stdout]   |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `search_test`
[INFO] [stdout]  --> src/search/liner_search.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::search::{Searcher, search_test};
[INFO] [stdout]   |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `search_test`
[INFO] [stdout]  --> src/search/binary_search.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::search::{Searcher, search_test};
[INFO] [stdout]   |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `base_index`
[INFO] [stdout]  --> src/search/liner_search.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 |         for (base_index, val) in list.iter().enumerate() {
[INFO] [stdout]   |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_index`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of a shared reference
[INFO] [stdout]   --> src/data_structure/list.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         self.next.as_ref()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: consider calling `.as_ref()` or `.as_mut()` to borrow the type's contents
[INFO] [stdout]    |         move occurs because value has type `Option<ListItem<T>>`, which does not implement the `Copy` trait
[INFO] [stdout] 13 |             .map(|n| n.tail_size() + 1)
[INFO] [stdout]    |              -------------------------- value moved due to this method call
[INFO] [stdout]    |
[INFO] [stdout] note: `Option::<T>::map` takes ownership of the receiver `self`, which moves value
[INFO] [stdout]   --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/option.rs:1154:28
[INFO] [stdout] note: if `ListItem<T>` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/data_structure/list.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | struct ListItem<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] ...
[INFO] [stdout] 12 |         self.next.as_ref()
[INFO] [stdout]    |         ------------------ you could clone this value
[INFO] [stdout] help: you could `clone` the value and consume it, if the `ListItem<T>: Clone` trait bound could be satisfied
[INFO] [stdout]    |
[INFO] [stdout] 12 |         <Option<ListItem<T>> as Clone>::clone(&self.next.as_ref())
[INFO] [stdout]    |         +++++++++++++++++++++++++++++++++++++++                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing function parameter `n`
[INFO] [stdout]   --> src/data_structure/list.rs:26:31
[INFO] [stdout]    |
[INFO] [stdout] 26 |                 .and_then(|n| n.index_at(i - 1))
[INFO] [stdout]    |                               -^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               returns a value referencing data owned by the current function
[INFO] [stdout]    |                               `n` is borrowed here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of a shared reference
[INFO] [stdout]   --> src/data_structure/list.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |             self.next.as_ref()
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: consider calling `.as_ref()` or `.as_mut()` to borrow the type's contents
[INFO] [stdout]    |             move occurs because value has type `Option<ListItem<T>>`, which does not implement the `Copy` trait
[INFO] [stdout] 26 |                 .and_then(|n| n.index_at(i - 1))
[INFO] [stdout]    |                  ------------------------------- value moved due to this method call
[INFO] [stdout]    |
[INFO] [stdout] note: `Option::<T>::and_then` takes ownership of the receiver `self`, which moves value
[INFO] [stdout]   --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/option.rs:1535:33
[INFO] [stdout] note: if `ListItem<T>` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/data_structure/list.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | struct ListItem<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] ...
[INFO] [stdout] 25 |             self.next.as_ref()
[INFO] [stdout]    |             ------------------ you could clone this value
[INFO] [stdout] help: you could `clone` the value and consume it, if the `ListItem<T>: Clone` trait bound could be satisfied
[INFO] [stdout]    |
[INFO] [stdout] 25 |             <Option<ListItem<T>> as Clone>::clone(&self.next.as_ref())
[INFO] [stdout]    |             +++++++++++++++++++++++++++++++++++++++                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.value` which is behind a shared reference
[INFO] [stdout]   --> src/data_structure/list.rs:33:47
[INFO] [stdout]    |
[INFO] [stdout] 33 |             None => Box::new(ListItem{ value: self.value, next: Box::new(None) })
[INFO] [stdout]    |                                               ^^^^^^^^^^ move occurs because `self.value` has type `T`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] help: if `T` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/data_structure/list.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl<T> ListItem<T> {
[INFO] [stdout]    |      ^ consider constraining this type parameter with `Clone`
[INFO] [stdout] ...
[INFO] [stdout] 33 |             None => Box::new(ListItem{ value: self.value, next: Box::new(None) })
[INFO] [stdout]    |                                               ---------- you could clone this value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of a shared reference
[INFO] [stdout]   --> src/data_structure/list.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         self.head.as_ref().map(|h| h.tail_size()).unwrap_or(0)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ ---------------------- value moved due to this method call
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: consider calling `.as_ref()` or `.as_mut()` to borrow the type's contents
[INFO] [stdout]    |         move occurs because value has type `Option<ListItem<T>>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] note: `Option::<T>::map` takes ownership of the receiver `self`, which moves value
[INFO] [stdout]   --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/option.rs:1154:28
[INFO] [stdout] note: if `ListItem<T>` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/data_structure/list.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | struct ListItem<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] ...
[INFO] [stdout] 41 |         self.head.as_ref().map(|h| h.tail_size()).unwrap_or(0)
[INFO] [stdout]    |         ------------------ you could clone this value
[INFO] [stdout] help: you could `clone` the value and consume it, if the `ListItem<T>: Clone` trait bound could be satisfied
[INFO] [stdout]    |
[INFO] [stdout] 41 |         <Option<ListItem<T>> as Clone>::clone(&self.head.as_ref()).map(|h| h.tail_size()).unwrap_or(0)
[INFO] [stdout]    |         +++++++++++++++++++++++++++++++++++++++                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing function parameter `h`
[INFO] [stdout]   --> src/data_structure/list.rs:45:41
[INFO] [stdout]    |
[INFO] [stdout] 45 |         self.head.as_ref().and_then(|h| h.index_at(i))
[INFO] [stdout]    |                                         -^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         returns a value referencing data owned by the current function
[INFO] [stdout]    |                                         `h` is borrowed here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of a shared reference
[INFO] [stdout]   --> src/data_structure/list.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         self.head.as_ref().and_then(|h| h.index_at(i))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ --------------------------- value moved due to this method call
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: consider calling `.as_ref()` or `.as_mut()` to borrow the type's contents
[INFO] [stdout]    |         move occurs because value has type `Option<ListItem<T>>`, which does not implement the `Copy` trait
[INFO] [stdout]    |
[INFO] [stdout] note: `Option::<T>::and_then` takes ownership of the receiver `self`, which moves value
[INFO] [stdout]   --> /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/option.rs:1535:33
[INFO] [stdout] note: if `ListItem<T>` implemented `Clone`, you could clone the value
[INFO] [stdout]   --> src/data_structure/list.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | struct ListItem<T> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout] ...
[INFO] [stdout] 45 |         self.head.as_ref().and_then(|h| h.index_at(i))
[INFO] [stdout]    |         ------------------ you could clone this value
[INFO] [stdout] help: you could `clone` the value and consume it, if the `ListItem<T>: Clone` trait bound could be satisfied
[INFO] [stdout]    |
[INFO] [stdout] 45 |         <Option<ListItem<T>> as Clone>::clone(&self.head.as_ref()).and_then(|h| h.index_at(i))
[INFO] [stdout]    |         +++++++++++++++++++++++++++++++++++++++                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0507, E0515.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0507`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_algorithm_picture_book_impl` (lib) due to 7 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "49ab8944a8c7fe363e210dfebf99331310142625d6871cd47c3d6d379fe69f23", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49ab8944a8c7fe363e210dfebf99331310142625d6871cd47c3d6d379fe69f23", kill_on_drop: false }`
[INFO] [stdout] 49ab8944a8c7fe363e210dfebf99331310142625d6871cd47c3d6d379fe69f23
