[INFO] fetching crate grafen 0.9.1...
[INFO] testing grafen-0.9.1 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate grafen 0.9.1 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate grafen 0.9.1
[INFO] finished tweaking crates.io crate grafen 0.9.1
[INFO] tweaked toml for crates.io crate grafen 0.9.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate grafen 0.9.1 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 47 packages to latest compatible versions
[INFO] [stderr]       Adding ansi_term v0.9.0 (available: v0.12.1)
[INFO] [stderr]       Adding clap v2.23.3 (available: v2.34.0)
[INFO] [stderr]       Adding colored v1.9.4 (available: v3.0.0)
[INFO] [stderr]       Adding dialoguer v0.1.0 (available: v0.12.0)
[INFO] [stderr]       Adding rand v0.3.23 (available: v0.9.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * src/bin/output.rs
[INFO] [stderr] * src/bin/error.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded dialoguer v0.1.0
[INFO] [stderr]   Downloaded vec_map v0.7.0
[INFO] [stderr]   Downloaded ansi_term v0.9.0
[INFO] [stderr]   Downloaded console v0.16.2
[INFO] [stderr]   Downloaded bitflags v0.8.2
[INFO] [stderr]   Downloaded strsim v0.6.0
[INFO] [stderr]   Downloaded tempfile v2.2.0
[INFO] [stderr]   Downloaded colored v1.9.4
[INFO] [stderr]   Downloaded clap v2.23.3
[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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ec7f5254036fed57a0bd6d87cc6127a09e025c8a3beb1e7393d2cfcde74cfd80
[INFO] running `Command { std: "docker" "start" "-a" "ec7f5254036fed57a0bd6d87cc6127a09e025c8a3beb1e7393d2cfcde74cfd80", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ec7f5254036fed57a0bd6d87cc6127a09e025c8a3beb1e7393d2cfcde74cfd80", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec7f5254036fed57a0bd6d87cc6127a09e025c8a3beb1e7393d2cfcde74cfd80", kill_on_drop: false }`
[INFO] [stdout] ec7f5254036fed57a0bd6d87cc6127a09e025c8a3beb1e7393d2cfcde74cfd80
[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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 70b100e57a4a17e5f5824f63aac7ae08b923ff15f9070fa7d0cc7faf1c158b5f
[INFO] running `Command { std: "docker" "start" "-a" "70b100e57a4a17e5f5824f63aac7ae08b923ff15f9070fa7d0cc7faf1c158b5f", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * src/bin/output.rs
[INFO] [stderr] * src/bin/error.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling vec_map v0.7.0
[INFO] [stderr]    Compiling strsim v0.6.0
[INFO] [stderr]    Compiling ansi_term v0.9.0
[INFO] [stderr]    Compiling bitflags v0.8.2
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling term_size v0.3.2
[INFO] [stderr]    Compiling colored v1.9.4
[INFO] [stderr]    Compiling clap v2.23.3
[INFO] [stderr]    Compiling console v0.16.2
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling tempfile v2.2.0
[INFO] [stderr]    Compiling dialoguer v0.1.0
[INFO] [stderr]    Compiling grafen v0.9.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated function `rand::sample`: renamed to seq::sample_iter
[INFO] [stdout]    --> src/volume/cuboid.rs:196:38
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let selected_indices = rand::sample(&mut rng, 0..num_cells, num_coords as usize);
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/iterator.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub type AtomIterItem<'a> = Box<Iterator<Item = CurrentAtom<'a>> + 'a>;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub type AtomIterItem<'a> = Box<dyn Iterator<Item = CurrentAtom<'a>> + 'a>;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:34:32
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/coord.rs:203:67
[INFO] [stdout]     |
[INFO] [stdout] 203 |                  .and_then(|v| v.parse::<f64>().map_err(|err| err.description().to_string()))
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `residue` and `radius` are never read
[INFO] [stdout]    --> src/surface/sheet.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct Circle {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 176 |     residue: Option<Residue>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 177 |     origin: Coord,
[INFO] [stdout] 178 |     radius: f64,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Circle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/system.rs:69:36
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn iter_atoms(&'a self) -> AtomIterItem {
[INFO] [stdout]    |                        --          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn iter_atoms(&'a self) -> AtomIterItem<'a> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/database.rs:125:44
[INFO] [stdout]     |
[INFO] [stdout] 125 |               pub fn get_coords(&'a self) -> &Vec<Coord> {
[INFO] [stdout]     |                                  --          ^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 242 | / create_entry_wrapper![
[INFO] [stdout] 243 | |     ComponentEntry,
[INFO] [stdout] 244 | |     (volume::Cuboid => VolumeCuboid),
[INFO] [stdout] 245 | |     (volume::Cylinder => VolumeCylinder),
[INFO] [stdout] 246 | |     (surface::Sheet => SurfaceSheet),
[INFO] [stdout] 247 | |     (surface::Cylinder => SurfaceCylinder)
[INFO] [stdout] 248 | | ];
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `create_entry_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 125 |             pub fn get_coords(&'a self) -> &'a Vec<Coord> {
[INFO] [stdout]     |                                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/database.rs:134:52
[INFO] [stdout]     |
[INFO] [stdout] 134 |               pub fn get_coords_mut(&'a mut self) -> &mut Vec<Coord> {
[INFO] [stdout]     |                                      --              ^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 242 | / create_entry_wrapper![
[INFO] [stdout] 243 | |     ComponentEntry,
[INFO] [stdout] 244 | |     (volume::Cuboid => VolumeCuboid),
[INFO] [stdout] 245 | |     (volume::Cylinder => VolumeCylinder),
[INFO] [stdout] 246 | |     (surface::Sheet => SurfaceSheet),
[INFO] [stdout] 247 | |     (surface::Cylinder => SurfaceCylinder)
[INFO] [stdout] 248 | | ];
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `create_entry_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 134 |             pub fn get_coords_mut(&'a mut self) -> &'a mut Vec<Coord> {
[INFO] [stdout]     |                                                     ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/database.rs:187:40
[INFO] [stdout]     |
[INFO] [stdout] 187 |               fn iter_atoms(&'a self) -> AtomIterItem {
[INFO] [stdout]     |                              --          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 242 | / create_entry_wrapper![
[INFO] [stdout] 243 | |     ComponentEntry,
[INFO] [stdout] 244 | |     (volume::Cuboid => VolumeCuboid),
[INFO] [stdout] 245 | |     (volume::Cylinder => VolumeCylinder),
[INFO] [stdout] 246 | |     (surface::Sheet => SurfaceSheet),
[INFO] [stdout] 247 | |     (surface::Cylinder => SurfaceCylinder)
[INFO] [stdout] 248 | | ];
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `create_entry_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 187 |             fn iter_atoms(&'a self) -> AtomIterItem<'a> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/system.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/surface/cylinder.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl_component![Cylinder];
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/system.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/surface/sheet.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl_component![Sheet];
[INFO] [stdout]     | ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/system.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/volume/cuboid.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl_component![Cuboid];
[INFO] [stdout]     | ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/system.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/volume/cylinder.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl_component![Cylinder];
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/bin/ui/mod.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |         @pre: { system.print_state() };
[INFO] [stdout]    |               ^^                    ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 39 -         @pre: { system.print_state() };
[INFO] [stdout] 39 +         @pre: system.print_state();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/error.rs:81:32
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/ui/edit_component.rs:66:70
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn get_volume_from_user(components: &[ComponentEntry]) -> Result<Box<Contains>> {
[INFO] [stdout]    |                                                                      ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn get_volume_from_user(components: &[ComponentEntry]) -> Result<Box<dyn Contains>> {
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/error.rs:134:38
[INFO] [stdout]     |
[INFO] [stdout] 134 |         GrafenCliError::RunError(err.description().to_string())
[INFO] [stdout]     |                                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/bin/ui/edit_database/component.rs:44:69
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     format!("Could not remove a component: {}", err.description())
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/bin/ui/edit_database/component.rs:51:67
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     format!("Could not reorder the list: {}", err.description())
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/bin/ui/edit_database/residue.rs:26:65
[INFO] [stdout]    |
[INFO] [stdout] 26 |                     format!("Could not create residue: {}", err.description())
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/bin/ui/edit_database/residue.rs:33:67
[INFO] [stdout]    |
[INFO] [stdout] 33 |                     format!("Could not remove a residue: {}", err.description())
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/bin/ui/edit_database/residue.rs:40:67
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     format!("Could not reorder the list: {}", err.description())
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/bin/ui/edit_database/mod.rs:35:65
[INFO] [stdout]    |
[INFO] [stdout] 35 |                     format!("Could not write database: {}", err.description())
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.43s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.8.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "70b100e57a4a17e5f5824f63aac7ae08b923ff15f9070fa7d0cc7faf1c158b5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "70b100e57a4a17e5f5824f63aac7ae08b923ff15f9070fa7d0cc7faf1c158b5f", kill_on_drop: false }`
[INFO] [stdout] 70b100e57a4a17e5f5824f63aac7ae08b923ff15f9070fa7d0cc7faf1c158b5f
[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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b2d205ce13d6d488f149b1c4681c7a1d2235b90fbd451ed82f66a0ea0a036784
[INFO] running `Command { std: "docker" "start" "-a" "b2d205ce13d6d488f149b1c4681c7a1d2235b90fbd451ed82f66a0ea0a036784", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * src/bin/output.rs
[INFO] [stderr] * src/bin/error.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: use of deprecated function `rand::sample`: renamed to seq::sample_iter
[INFO] [stdout]    --> src/volume/cuboid.rs:196:38
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let selected_indices = rand::sample(&mut rng, 0..num_cells, num_coords as usize);
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/iterator.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub type AtomIterItem<'a> = Box<Iterator<Item = CurrentAtom<'a>> + 'a>;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub type AtomIterItem<'a> = Box<dyn Iterator<Item = CurrentAtom<'a>> + 'a>;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:34:32
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/coord.rs:203:67
[INFO] [stdout]     |
[INFO] [stdout] 203 |                  .and_then(|v| v.parse::<f64>().map_err(|err| err.description().to_string()))
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `residue` and `radius` are never read
[INFO] [stdout]    --> src/surface/sheet.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct Circle {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 176 |     residue: Option<Residue>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 177 |     origin: Coord,
[INFO] [stdout] 178 |     radius: f64,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Circle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/system.rs:69:36
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn iter_atoms(&'a self) -> AtomIterItem {
[INFO] [stdout]    |                        --          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn iter_atoms(&'a self) -> AtomIterItem<'a> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/database.rs:125:44
[INFO] [stdout]     |
[INFO] [stdout] 125 |               pub fn get_coords(&'a self) -> &Vec<Coord> {
[INFO] [stdout]     |                                  --          ^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 242 | / create_entry_wrapper![
[INFO] [stdout] 243 | |     ComponentEntry,
[INFO] [stdout] 244 | |     (volume::Cuboid => VolumeCuboid),
[INFO] [stdout] 245 | |     (volume::Cylinder => VolumeCylinder),
[INFO] [stdout] 246 | |     (surface::Sheet => SurfaceSheet),
[INFO] [stdout] 247 | |     (surface::Cylinder => SurfaceCylinder)
[INFO] [stdout] 248 | | ];
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `create_entry_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 125 |             pub fn get_coords(&'a self) -> &'a Vec<Coord> {
[INFO] [stdout]     |                                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/database.rs:134:52
[INFO] [stdout]     |
[INFO] [stdout] 134 |               pub fn get_coords_mut(&'a mut self) -> &mut Vec<Coord> {
[INFO] [stdout]     |                                      --              ^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 242 | / create_entry_wrapper![
[INFO] [stdout] 243 | |     ComponentEntry,
[INFO] [stdout] 244 | |     (volume::Cuboid => VolumeCuboid),
[INFO] [stdout] 245 | |     (volume::Cylinder => VolumeCylinder),
[INFO] [stdout] 246 | |     (surface::Sheet => SurfaceSheet),
[INFO] [stdout] 247 | |     (surface::Cylinder => SurfaceCylinder)
[INFO] [stdout] 248 | | ];
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `create_entry_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 134 |             pub fn get_coords_mut(&'a mut self) -> &'a mut Vec<Coord> {
[INFO] [stdout]     |                                                     ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/database.rs:187:40
[INFO] [stdout]     |
[INFO] [stdout] 187 |               fn iter_atoms(&'a self) -> AtomIterItem {
[INFO] [stdout]     |                              --          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 242 | / create_entry_wrapper![
[INFO] [stdout] 243 | |     ComponentEntry,
[INFO] [stdout] 244 | |     (volume::Cuboid => VolumeCuboid),
[INFO] [stdout] 245 | |     (volume::Cylinder => VolumeCylinder),
[INFO] [stdout] 246 | |     (surface::Sheet => SurfaceSheet),
[INFO] [stdout] 247 | |     (surface::Cylinder => SurfaceCylinder)
[INFO] [stdout] 248 | | ];
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `create_entry_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 187 |             fn iter_atoms(&'a self) -> AtomIterItem<'a> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/system.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/surface/cylinder.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl_component![Cylinder];
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/system.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/surface/sheet.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl_component![Sheet];
[INFO] [stdout]     | ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling grafen v0.9.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/system.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/volume/cuboid.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl_component![Cuboid];
[INFO] [stdout]     | ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/system.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/volume/cylinder.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl_component![Cylinder];
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary braces around block return value
[INFO] [stdout]   --> src/bin/ui/mod.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |         @pre: { system.print_state() };
[INFO] [stdout]    |               ^^                    ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these braces
[INFO] [stdout]    |
[INFO] [stdout] 39 -         @pre: { system.print_state() };
[INFO] [stdout] 39 +         @pre: system.print_state();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/error.rs:81:32
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/ui/edit_component.rs:66:70
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn get_volume_from_user(components: &[ComponentEntry]) -> Result<Box<Contains>> {
[INFO] [stdout]    |                                                                      ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn get_volume_from_user(components: &[ComponentEntry]) -> Result<Box<dyn Contains>> {
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/error.rs:134:38
[INFO] [stdout]     |
[INFO] [stdout] 134 |         GrafenCliError::RunError(err.description().to_string())
[INFO] [stdout]     |                                      ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/bin/ui/edit_database/component.rs:44:69
[INFO] [stdout]    |
[INFO] [stdout] 44 |                     format!("Could not remove a component: {}", err.description())
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/bin/ui/edit_database/component.rs:51:67
[INFO] [stdout]    |
[INFO] [stdout] 51 |                     format!("Could not reorder the list: {}", err.description())
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/bin/ui/edit_database/residue.rs:26:65
[INFO] [stdout]    |
[INFO] [stdout] 26 |                     format!("Could not create residue: {}", err.description())
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/bin/ui/edit_database/residue.rs:33:67
[INFO] [stdout]    |
[INFO] [stdout] 33 |                     format!("Could not remove a residue: {}", err.description())
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/bin/ui/edit_database/residue.rs:40:67
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     format!("Could not reorder the list: {}", err.description())
[INFO] [stdout]    |                                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/bin/ui/edit_database/mod.rs:35:65
[INFO] [stdout]    |
[INFO] [stdout] 35 |                     format!("Could not write database: {}", err.description())
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::sample`: renamed to seq::sample_iter
[INFO] [stdout]    --> src/volume/cuboid.rs:196:38
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let selected_indices = rand::sample(&mut rng, 0..num_cells, num_coords as usize);
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/iterator.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub type AtomIterItem<'a> = Box<Iterator<Item = CurrentAtom<'a>> + 'a>;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub type AtomIterItem<'a> = Box<dyn Iterator<Item = CurrentAtom<'a>> + 'a>;
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/error.rs:34:32
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/coord.rs:203:67
[INFO] [stdout]     |
[INFO] [stdout] 203 |                  .and_then(|v| v.parse::<f64>().map_err(|err| err.description().to_string()))
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `residue` and `radius` are never read
[INFO] [stdout]    --> src/surface/sheet.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct Circle {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 176 |     residue: Option<Residue>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 177 |     origin: Coord,
[INFO] [stdout] 178 |     radius: f64,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Circle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/system.rs:69:36
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn iter_atoms(&'a self) -> AtomIterItem {
[INFO] [stdout]    |                        --          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn iter_atoms(&'a self) -> AtomIterItem<'a> {
[INFO] [stdout]    |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/system.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 296 |     impl_component![TestObject];
[INFO] [stdout]     |     --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/database.rs:125:44
[INFO] [stdout]     |
[INFO] [stdout] 125 |               pub fn get_coords(&'a self) -> &Vec<Coord> {
[INFO] [stdout]     |                                  --          ^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 242 | / create_entry_wrapper![
[INFO] [stdout] 243 | |     ComponentEntry,
[INFO] [stdout] 244 | |     (volume::Cuboid => VolumeCuboid),
[INFO] [stdout] 245 | |     (volume::Cylinder => VolumeCylinder),
[INFO] [stdout] 246 | |     (surface::Sheet => SurfaceSheet),
[INFO] [stdout] 247 | |     (surface::Cylinder => SurfaceCylinder)
[INFO] [stdout] 248 | | ];
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `create_entry_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 125 |             pub fn get_coords(&'a self) -> &'a Vec<Coord> {
[INFO] [stdout]     |                                             ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/database.rs:134:52
[INFO] [stdout]     |
[INFO] [stdout] 134 |               pub fn get_coords_mut(&'a mut self) -> &mut Vec<Coord> {
[INFO] [stdout]     |                                      --              ^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 242 | / create_entry_wrapper![
[INFO] [stdout] 243 | |     ComponentEntry,
[INFO] [stdout] 244 | |     (volume::Cuboid => VolumeCuboid),
[INFO] [stdout] 245 | |     (volume::Cylinder => VolumeCylinder),
[INFO] [stdout] 246 | |     (surface::Sheet => SurfaceSheet),
[INFO] [stdout] 247 | |     (surface::Cylinder => SurfaceCylinder)
[INFO] [stdout] 248 | | ];
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `create_entry_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 134 |             pub fn get_coords_mut(&'a mut self) -> &'a mut Vec<Coord> {
[INFO] [stdout]     |                                                     ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/database.rs:187:40
[INFO] [stdout]     |
[INFO] [stdout] 187 |               fn iter_atoms(&'a self) -> AtomIterItem {
[INFO] [stdout]     |                              --          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 242 | / create_entry_wrapper![
[INFO] [stdout] 243 | |     ComponentEntry,
[INFO] [stdout] 244 | |     (volume::Cuboid => VolumeCuboid),
[INFO] [stdout] 245 | |     (volume::Cylinder => VolumeCylinder),
[INFO] [stdout] 246 | |     (surface::Sheet => SurfaceSheet),
[INFO] [stdout] 247 | |     (surface::Cylinder => SurfaceCylinder)
[INFO] [stdout] 248 | | ];
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `create_entry_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 187 |             fn iter_atoms(&'a self) -> AtomIterItem<'a> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/system.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/surface/cylinder.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl_component![Cylinder];
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/system.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/surface/sheet.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl_component![Sheet];
[INFO] [stdout]     | ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/system.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/volume/cuboid.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl_component![Cuboid];
[INFO] [stdout]     | ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/system.rs:140:31
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/volume/cylinder.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl_component![Cylinder];
[INFO] [stdout]     | ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.04s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.8.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "b2d205ce13d6d488f149b1c4681c7a1d2235b90fbd451ed82f66a0ea0a036784", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2d205ce13d6d488f149b1c4681c7a1d2235b90fbd451ed82f66a0ea0a036784", kill_on_drop: false }`
[INFO] [stdout] b2d205ce13d6d488f149b1c4681c7a1d2235b90fbd451ed82f66a0ea0a036784
[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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5e9a8d4571a163842ccd70e577716b7a8c714c2d8a59a8272cf46475c52af541
[INFO] running `Command { std: "docker" "start" "-a" "5e9a8d4571a163842ccd70e577716b7a8c714c2d8a59a8272cf46475c52af541", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * src/bin/output.rs
[INFO] [stderr] * src/bin/error.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: use of deprecated function `rand::sample`: renamed to seq::sample_iter
[INFO] [stderr]    --> src/volume/cuboid.rs:196:38
[INFO] [stderr]     |
[INFO] [stderr] 196 |         let selected_indices = rand::sample(&mut rng, 0..num_cells, num_coords as usize);
[INFO] [stderr]     |                                      ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/iterator.rs:10:33
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub type AtomIterItem<'a> = Box<Iterator<Item = CurrentAtom<'a>> + 'a>;
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub type AtomIterItem<'a> = Box<dyn Iterator<Item = CurrentAtom<'a>> + 'a>;
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/error.rs:34:32
[INFO] [stderr]    |
[INFO] [stderr] 34 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stderr]    |                                ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 34 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/coord.rs:203:67
[INFO] [stderr]     |
[INFO] [stderr] 203 |                  .and_then(|v| v.parse::<f64>().map_err(|err| err.description().to_string()))
[INFO] [stderr]     |                                                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `residue` and `radius` are never read
[INFO] [stderr]    --> src/surface/sheet.rs:176:5
[INFO] [stderr]     |
[INFO] [stderr] 175 | pub struct Circle {
[INFO] [stderr]     |            ------ fields in this struct
[INFO] [stderr] 176 |     residue: Option<Residue>,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 177 |     origin: Coord,
[INFO] [stderr] 178 |     radius: f64,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Circle` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/system.rs:69:36
[INFO] [stderr]    |
[INFO] [stderr] 69 |     pub fn iter_atoms(&'a self) -> AtomIterItem {
[INFO] [stderr]    |                        --          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        the lifetime is named here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 69 |     pub fn iter_atoms(&'a self) -> AtomIterItem<'a> {
[INFO] [stderr]    |                                                ++++
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/database.rs:125:44
[INFO] [stderr]     |
[INFO] [stderr] 125 |               pub fn get_coords(&'a self) -> &Vec<Coord> {
[INFO] [stderr]     |                                  --          ^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stderr]     |                                  |
[INFO] [stderr]     |                                  the lifetime is named here
[INFO] [stderr] ...
[INFO] [stderr] 242 | / create_entry_wrapper![
[INFO] [stderr] 243 | |     ComponentEntry,
[INFO] [stderr] 244 | |     (volume::Cuboid => VolumeCuboid),
[INFO] [stderr] 245 | |     (volume::Cylinder => VolumeCylinder),
[INFO] [stderr] 246 | |     (surface::Sheet => SurfaceSheet),
[INFO] [stderr] 247 | |     (surface::Cylinder => SurfaceCylinder)
[INFO] [stderr] 248 | | ];
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `create_entry_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 125 |             pub fn get_coords(&'a self) -> &'a Vec<Coord> {
[INFO] [stderr]     |                                             ++
[INFO] [stderr] 
[INFO] [stderr] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/database.rs:134:52
[INFO] [stderr]     |
[INFO] [stderr] 134 |               pub fn get_coords_mut(&'a mut self) -> &mut Vec<Coord> {
[INFO] [stderr]     |                                      --              ^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stderr]     |                                      |
[INFO] [stderr]     |                                      the lifetime is named here
[INFO] [stderr] ...
[INFO] [stderr] 242 | / create_entry_wrapper![
[INFO] [stderr] 243 | |     ComponentEntry,
[INFO] [stderr] 244 | |     (volume::Cuboid => VolumeCuboid),
[INFO] [stderr] 245 | |     (volume::Cylinder => VolumeCylinder),
[INFO] [stderr] 246 | |     (surface::Sheet => SurfaceSheet),
[INFO] [stderr] 247 | |     (surface::Cylinder => SurfaceCylinder)
[INFO] [stderr] 248 | | ];
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `create_entry_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 134 |             pub fn get_coords_mut(&'a mut self) -> &'a mut Vec<Coord> {
[INFO] [stderr]     |                                                     ++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/database.rs:187:40
[INFO] [stderr]     |
[INFO] [stderr] 187 |               fn iter_atoms(&'a self) -> AtomIterItem {
[INFO] [stderr]     |                              --          ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              the lifetime is named here
[INFO] [stderr] ...
[INFO] [stderr] 242 | / create_entry_wrapper![
[INFO] [stderr] 243 | |     ComponentEntry,
[INFO] [stderr] 244 | |     (volume::Cuboid => VolumeCuboid),
[INFO] [stderr] 245 | |     (volume::Cylinder => VolumeCylinder),
[INFO] [stderr] 246 | |     (surface::Sheet => SurfaceSheet),
[INFO] [stderr] 247 | |     (surface::Cylinder => SurfaceCylinder)
[INFO] [stderr] 248 | | ];
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `create_entry_wrapper` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 187 |             fn iter_atoms(&'a self) -> AtomIterItem<'a> {
[INFO] [stderr]     |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/system.rs:140:31
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stderr]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/surface/cylinder.rs:17:1
[INFO] [stderr]     |
[INFO] [stderr]  17 | impl_component![Cylinder];
[INFO] [stderr]     | ------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stderr]     |                                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/system.rs:140:31
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stderr]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/surface/sheet.rs:16:1
[INFO] [stderr]     |
[INFO] [stderr]  16 | impl_component![Sheet];
[INFO] [stderr]     | ---------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stderr]     |                                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/system.rs:140:31
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stderr]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/volume/cuboid.rs:31:1
[INFO] [stderr]     |
[INFO] [stderr]  31 | impl_component![Cuboid];
[INFO] [stderr]     | ----------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stderr]     |                                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/system.rs:140:31
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stderr]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/volume/cylinder.rs:31:1
[INFO] [stderr]     |
[INFO] [stderr]  31 | impl_component![Cylinder];
[INFO] [stderr]     | ------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stderr]     |                                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/system.rs:140:31
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 fn iter_atoms(&self) -> AtomIterItem {
[INFO] [stderr]     |                               ^^^^^     ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 296 |     impl_component![TestObject];
[INFO] [stderr]     |     --------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `impl_component` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 fn iter_atoms(&self) -> AtomIterItem<'_> {
[INFO] [stderr]     |                                                     ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `grafen` (lib) generated 13 warnings (run `cargo fix --lib -p grafen` to apply 10 suggestions)
[INFO] [stderr] warning: `grafen` (lib test) generated 14 warnings (13 duplicates) (run `cargo fix --lib -p grafen --tests` to apply 1 suggestion)
[INFO] [stderr] warning: unnecessary braces around block return value
[INFO] [stderr]   --> src/bin/ui/mod.rs:39:15
[INFO] [stderr]    |
[INFO] [stderr] 39 |         @pre: { system.print_state() };
[INFO] [stderr]    |               ^^                    ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these braces
[INFO] [stderr]    |
[INFO] [stderr] 39 -         @pre: { system.print_state() };
[INFO] [stderr] 39 +         @pre: system.print_state();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bin/error.rs:81:32
[INFO] [stderr]    |
[INFO] [stderr] 81 |     fn cause(&self) -> Option<&Error> {
[INFO] [stderr]    |                                ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 81 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bin/ui/edit_component.rs:66:70
[INFO] [stderr]    |
[INFO] [stderr] 66 | fn get_volume_from_user(components: &[ComponentEntry]) -> Result<Box<Contains>> {
[INFO] [stderr]    |                                                                      ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 66 | fn get_volume_from_user(components: &[ComponentEntry]) -> Result<Box<dyn Contains>> {
[INFO] [stderr]    |                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]    --> src/bin/error.rs:134:38
[INFO] [stderr]     |
[INFO] [stderr] 134 |         GrafenCliError::RunError(err.description().to_string())
[INFO] [stderr]     |                                      ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/bin/ui/edit_database/component.rs:44:69
[INFO] [stderr]    |
[INFO] [stderr] 44 |                     format!("Could not remove a component: {}", err.description())
[INFO] [stderr]    |                                                                     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/bin/ui/edit_database/component.rs:51:67
[INFO] [stderr]    |
[INFO] [stderr] 51 |                     format!("Could not reorder the list: {}", err.description())
[INFO] [stderr]    |                                                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/bin/ui/edit_database/residue.rs:26:65
[INFO] [stderr]    |
[INFO] [stderr] 26 |                     format!("Could not create residue: {}", err.description())
[INFO] [stderr]    |                                                                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/bin/ui/edit_database/residue.rs:33:67
[INFO] [stderr]    |
[INFO] [stderr] 33 |                     format!("Could not remove a residue: {}", err.description())
[INFO] [stderr]    |                                                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/bin/ui/edit_database/residue.rs:40:67
[INFO] [stderr]    |
[INFO] [stderr] 40 |                     format!("Could not reorder the list: {}", err.description())
[INFO] [stderr]    |                                                                   ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/bin/ui/edit_database/mod.rs:35:65
[INFO] [stderr]    |
[INFO] [stderr] 35 |                     format!("Could not write database: {}", err.description())
[INFO] [stderr]    |                                                                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `grafen` (bin "grafen" test) generated 10 warnings (run `cargo fix --bin "grafen" -p grafen --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.8.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/grafen-31433981de759a58)
[INFO] [stdout] 
[INFO] [stdout] running 85 tests
[INFO] [stdout] test coord::tests::coord_assign_operators ... ok
[INFO] [stdout] test coord::tests::coord_distance_calc ... ok
[INFO] [stdout] test coord::tests::coord_distance_along_plane ... ok
[INFO] [stdout] test coord::tests::coord_eq_tolerance_small_deviation_passes ... ok
[INFO] [stdout] test coord::tests::coord_display_format ... ok
[INFO] [stdout] test coord::tests::coord_operators ... ok
[INFO] [stdout] test coord::tests::coord_origo_is_correct ... ok
[INFO] [stdout] test coord::tests::coord_to_tuple ... ok
[INFO] [stdout] test coord::tests::coord_parsed_from_string ... ok
[INFO] [stdout] test coord::tests::coord_with_set_pbc ... ok
[INFO] [stdout] test coord::tests::coords_adjusted_by_pbc_with_size_0_does_not_change ... ok
[INFO] [stdout] test coord::tests::default_coordinate ... ok
[INFO] [stdout] test coord::tests::impl_translate_object ... ok
[INFO] [stdout] test coord::tests::impl_translate_object_in_place ... ok
[INFO] [stdout] test coord::tests::periodic_multiple_of_coords ... ok
[INFO] [stdout] test coord::tests::rotate_a_coordinate ... ok
[INFO] [stdout] test database::tests::component_entry_adds_with_pbc_method ... ok
[INFO] [stdout] test coord::tests::rotating_a_sheet_to_alignment_works ... ok
[INFO] [stdout] test database::tests::create_entry_macro_adds_from_method ... ok
[INFO] [stdout] test database::tests::set_database_path ... ok
[INFO] [stdout] test iterator::tests::atom_iterator_with_no_residue_is_empty ... ok
[INFO] [stdout] test database::tests::set_database_to_empty_path_is_error ... ok
[INFO] [stdout] test database::tests::serialize_and_deserialize_residue_entry ... ok
[INFO] [stdout] test database::tests::database_by_default_sets_empty_vectors_if_not_available ... ok
[INFO] [stdout] test iterator::tests::atom_iterator_yields_correct_values ... ok
[INFO] [stdout] test surface::cylinder::tests::calc_box_size_of_cylinder ... ok
[INFO] [stdout] test database::tests::get_database_path ... ok
[INFO] [stdout] test surface::cylinder::tests::cylinder_corrects_radius_and_height_to_match_lattice_spacing ... ok
[INFO] [stdout] test database::tests::read_and_write_database ... ok
[INFO] [stdout] test surface::lattice::tests::crystal_spacing ... ok
[INFO] [stdout] test surface::lattice::tests::hexagonal_lattice_has_empty_points ... ok
[INFO] [stdout] test surface::lattice::tests::hexagonal_lattice_with_size ... ok
[INFO] [stdout] test surface::lattice::tests::lattice_constructed_without_size_is_empty ... ok
[INFO] [stdout] test surface::lattice::tests::lattice_with_size ... ok
[INFO] [stdout] test surface::lattice::tests::hexagonal_crystal ... ok
[INFO] [stdout] test surface::lattice::tests::hexagonal_lattice_has_corrected_periodicity ... ok
[INFO] [stdout] test surface::lattice::tests::triclinic_crystal ... ok
[INFO] [stdout] test surface::lattice::tests::triclinic_lattice ... ok
[INFO] [stdout] test surface::points::tests::uniform_distribution_of_positions ... ok
[INFO] [stdout] test surface::sheet::tests::calc_box_size_of_sheet_accounts_for_sheet_normal ... ok
[INFO] [stdout] test surface::sheet::tests::create_sheets_with_negative_input_size_returns_error ... ok
[INFO] [stdout] test surface::sheet::tests::create_regular_sheets_updates_sheet_size_to_match_pbc ... ok
[INFO] [stdout] test surface::distribution::tests::create_poisson_distribution ... ok
[INFO] [stdout] test system::tests::box_size_in_macro_generated_impls_adds_origin ... ok
[INFO] [stdout] test surface::cylinder::tests::add_caps_to_cylinder ... ok
[INFO] [stdout] test system::tests::box_size_of_system_adds_origin ... ok
[INFO] [stdout] test system::tests::create_residue_base_macro ... ok
[INFO] [stdout] test system::tests::iterate_over_atoms_in_macro_generated_impl_object ... ok
[INFO] [stdout] test surface::cylinder::tests::constructing_cylinder_with_negative_radius_or_height_returns_error ... ok
[INFO] [stdout] test system::tests::iterate_over_atoms_in_macro_generated_impl_without_residue_returns_empty_iterator ... ok
[INFO] [stdout] test system::tests::num_atoms_in_system ... ok
[INFO] [stdout] test system::tests::iterate_over_atoms_in_whole_system_gives_correct_results ... ok
[INFO] [stdout] test system::tests::num_atoms_in_macro_generated_impl_objects ... ok
[INFO] [stdout] test system::tests::with_pbc_in_macro_generated_impls_works_locally ... ok
[INFO] [stdout] test volume::cuboid::tests::create_no_added_periodic_multiples_of_cuboid_just_clones ... ok
[INFO] [stdout] test volume::cuboid::tests::calc_box_size_of_cuboid ... ok
[INFO] [stdout] test volume::cuboid::tests::calculate_cuboid_center ... ok
[INFO] [stdout] test volume::cuboid::tests::cuboid_center_calculation_is_correct ... ok
[INFO] [stdout] test volume::cuboid::tests::create_periodic_multiple_of_cuboid ... ok
[INFO] [stdout] test volume::cuboid::tests::cuboid_contains_coordinates_in_absolute_space ... ok
[INFO] [stdout] test volume::cuboid::tests::cuboid_into_cylinder ... ok
[INFO] [stdout] test volume::cuboid::tests::cuboid_expands_to_create_full_cylinder_if_too_small ... ok
[INFO] [stdout] test coord::tests::coord_eq_tolerance_larger_deviation_does_not - should panic ... ok
[INFO] [stdout] test volume::cuboid::tests::cuboid_expands_to_create_full_sphere_if_too_small ... ok
[INFO] [stdout] test volume::cuboid::tests::density_is_set_after_fill ... ok
[INFO] [stdout] test volume::cuboid::tests::translate_a_cuboid ... ok
[INFO] [stdout] test volume::cuboid::tests::cuboid_volume_is_correct ... ok
[INFO] [stdout] test volume::cuboid::tests::cuboid_into_sphere ... ok
[INFO] [stdout] test volume::cuboid::tests::cuboid_to_cylinder_keeps_an_expected_number_of_coordinates ... ok
[INFO] [stdout] test volume::cylinder::tests::calc_box_size_of_cylinder ... ok
[INFO] [stdout] test volume::cylinder::tests::cylinder_from_density_makes_an_expected_number_of_coordinates ... ok
[INFO] [stdout] test volume::cylinder::tests::cylinder_volume_is_correct ... ok
[INFO] [stdout] test volume::cylinder::tests::fill_cylinder_with_coords ... ok
[INFO] [stdout] test volume::cylinder::tests::cylinder_contains_coordinates_in_absolute_space_depending_on_direction ... ok
[INFO] [stdout] test volume::cuboid::tests::translated_cuboid_center_is_correct ... ok
[INFO] [stdout] test volume::tests::fill_type_returns_correct_numbers ... ok
[INFO] [stdout] test volume::tests::pruning_accounts_for_the_relative_translation_of_objects ... ok
[INFO] [stdout] test volume::tests::coordinates_within_cuboid_are_pruned ... ok
[INFO] [stdout] test volume::tests::coordinates_within_cuboid_prune_with_respect_to_residue_atoms ... ok
[INFO] [stdout] test surface::sheet::tests::small_sheets_extend_periodically_if_the_circle_is_too_large ... ok
[INFO] [stdout] test surface::sheet::tests::create_sheet_with_density ... ok
[INFO] [stdout] test surface::sheet::tests::variance_is_added_if_requested ... ok
[INFO] [stdout] test surface::cylinder::tests::cylinder_is_bent_from_sheet_as_expected ... ok
[INFO] [stdout] test surface::sheet::tests::cut_a_sheet_into_a_circle ... ok
[INFO] [stdout] test surface::sheet::tests::sheet_can_be_constructed_along_x_and_y ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 85 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.35s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/main.rs (/opt/rustwide/target/debug/deps/grafen-e2a9a4e710ade4b2)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test ui::edit_database::residue::tests::residue_builder_is_ok_if_all_are_set ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests grafen
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test src/system.rs - system::impl_component (line 124) ... FAILED
[INFO] [stdout] test src/coord.rs - coord::Coord::distance (line 58) ... ok
[INFO] [stdout] test src/describe.rs - describe::unwrap_name (line 46) ... ok
[INFO] [stdout] test src/coord.rs - coord::Coord::with_pbc (line 123) ... ok
[INFO] [stdout] test src/coord.rs - coord::Coord::to_tuple (line 46) ... ok
[INFO] [stdout] test src/coord.rs - coord::Coord::from_str (line 188) ... ok
[INFO] [stdout] test src/coord.rs - coord::Coord (line 13) ... ok
[INFO] [stdout] test src/coord.rs - coord::Coord::from_str (line 194) ... ok
[INFO] [stdout] test src/coord.rs - coord::Coord::with_pbc (line 129) ... ok
[INFO] [stdout] test src/coord.rs - coord::Coord::new (line 34) ... ok
[INFO] [stdout] test src/coord.rs - coord::Coord::distance_cylindrical (line 74) ... ok
[INFO] [stdout] test src/coord.rs - coord::Coord::pbc_multiply (line 157) ... ok
[INFO] [stdout] test src/coord.rs - coord::Coord::rotate (line 102) ... ok
[INFO] [stdout] test src/system.rs - system::resbase (line 214) ... ok
[INFO] [stdout] test src/database.rs - database::create_entry_wrapper (line 44) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/system.rs - system::impl_component (line 124) stdout ----
[INFO] [stdout] error: expected item, found `{`
[INFO] [stdout]    --> src/system.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | {
[INFO] [stdout]     | ^ expected item
[INFO] [stdout]     |
[INFO] [stdout]     = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/system.rs - system::impl_component (line 124)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 14 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.67s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "5e9a8d4571a163842ccd70e577716b7a8c714c2d8a59a8272cf46475c52af541", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e9a8d4571a163842ccd70e577716b7a8c714c2d8a59a8272cf46475c52af541", kill_on_drop: false }`
[INFO] [stdout] 5e9a8d4571a163842ccd70e577716b7a8c714c2d8a59a8272cf46475c52af541
