[INFO] fetching crate helixiser 0.4.2...
[INFO] testing helixiser-0.4.2 against 1.54.0 for beta-1.55-1
[INFO] extracting crate helixiser 0.4.2 into /workspace/builds/worker-63/source
[INFO] validating manifest of crates.io crate helixiser 0.4.2 on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate helixiser 0.4.2
[INFO] finished tweaking crates.io crate helixiser 0.4.2
[INFO] tweaked toml for crates.io crate helixiser 0.4.2 written to /workspace/builds/worker-63/source/Cargo.toml
[INFO] crate crates.io crate helixiser 0.4.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-63/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-63/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 713ed2e6b5cf0dbba23d9332c2de93870f084b4dbf7a513732b49b36b2a85492
[INFO] running `Command { std: "docker" "start" "-a" "713ed2e6b5cf0dbba23d9332c2de93870f084b4dbf7a513732b49b36b2a85492", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "713ed2e6b5cf0dbba23d9332c2de93870f084b4dbf7a513732b49b36b2a85492", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "713ed2e6b5cf0dbba23d9332c2de93870f084b4dbf7a513732b49b36b2a85492", kill_on_drop: false }`
[INFO] [stdout] 713ed2e6b5cf0dbba23d9332c2de93870f084b4dbf7a513732b49b36b2a85492
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-63/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-63/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6808c547f91fe212036fbccb0b4cae25e63ebf8beb50654d766efb6433b3ab8b
[INFO] running `Command { std: "docker" "start" "-a" "6808c547f91fe212036fbccb0b4cae25e63ebf8beb50654d766efb6433b3ab8b", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling libc v0.2.76
[INFO] [stderr]    Compiling rayon-core v1.8.0
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]    Compiling lzw v0.10.0
[INFO] [stderr]    Compiling either v1.6.0
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling ndarray v0.13.1
[INFO] [stderr]    Compiling color_quant v1.0.1
[INFO] [stderr]    Compiling bytemuck v1.4.0
[INFO] [stderr]    Compiling transpose v0.1.0
[INFO] [stderr]    Compiling strength_reduce v0.2.3
[INFO] [stderr]    Compiling scoped_threadpool v0.1.9
[INFO] [stderr]    Compiling assert_approx_eq v1.1.0
[INFO] [stderr]    Compiling open v1.4.0
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]    Compiling memoffset v0.5.5
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling num-bigint v0.3.0
[INFO] [stderr]    Compiling num-iter v0.1.41
[INFO] [stderr]    Compiling rayon v1.4.0
[INFO] [stderr]    Compiling num-rational v0.3.0
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling matrixmultiply v0.2.3
[INFO] [stderr]    Compiling miniz_oxide v0.3.7
[INFO] [stderr]    Compiling gif v0.10.3
[INFO] [stderr]    Compiling deflate v0.8.6
[INFO] [stderr]    Compiling tiff v0.5.0
[INFO] [stderr]    Compiling png v0.16.7
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling crossbeam-channel v0.4.4
[INFO] [stderr]    Compiling num-complex v0.3.0
[INFO] [stderr]    Compiling crossbeam-deque v0.7.3
[INFO] [stderr]    Compiling rustfft v3.0.1
[INFO] [stderr]    Compiling num v0.3.0
[INFO] [stderr]    Compiling jpeg-decoder v0.1.20
[INFO] [stderr]    Compiling image v0.23.9
[INFO] [stderr]    Compiling helixiser v0.4.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `traits::Pow`
[INFO] [stdout]   --> src/diffraction_analytic.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 | use num:: {Complex, complex::Complex64, traits::Pow };
[INFO] [stdout]    |                                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayView1`, `ArrayView`, `ViewRepr`
[INFO] [stdout]   --> src/fft_2D.rs:13:38
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ndarray::{Array2, ArrayViewMut1, ArrayView1, ArrayView, Array, ViewRepr};
[INFO] [stdout]    |                                      ^^^^^^^^^^  ^^^^^^^^^         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::consts::PI`
[INFO] [stdout]  --> src/diffraction_simulator.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::f64::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_pix`
[INFO] [stdout]   --> src/diffraction_analytic.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let num_pix: usize = (raster_size * raster_size) as usize;
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_pix`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fill`
[INFO] [stdout]   --> src/fft_2D.rs:91:57
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn repetition_pad_image<T: Copy> (image: Array2<T>, fill: T) ->  Array2<T> {
[INFO] [stdout]    |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_fill`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `val` is never read
[INFO] [stdout]   --> src/diffraction_simulator.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut val:f64 = 0.;
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/diffraction_simulator.rs:83:69
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn draw_border_subunit(image: &mut Array2<f64>, x: usize, z: usize, size: f64){
[INFO] [stdout]    |                                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/fft_2D.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut row = image.row_mut(row_num);
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/fft_2D.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut column = image.column_mut(col_num);
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/diffraction_simulator.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut image_width: f64 = ( largest_radius[0] + largest_radius[1] ).ceil() * 2f64 + 4.;
[INFO] [stdout]    |         ----^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/diffraction_simulator.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut image_height: f64 = ( pitch_lengths * largest_pitch ).ceil();
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `fft_2D` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod fft_2D;
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `fft_2_d`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J0` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn J0(x: f64) -> f64 {
[INFO] [stdout]    |        ^^ help: convert the identifier to snake case: `j0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J1` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn J1(x: f64) -> f64 {
[INFO] [stdout]    |        ^^ help: convert the identifier to snake case: `j1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J0a` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn J0a(x: f64) -> f64 {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `j0a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J0b` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn J0b(x: f64) -> f64 {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `j0b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J1a` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn J1a(x: f64) -> f64 {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `j1a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J1b` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn J1b(x: f64) -> f64 {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `j1b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nextBessel` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn nextBessel(n: u64, x: f64, Jn_minus_one: f64, Jn_minus_two: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^ help: convert the identifier to snake case: `next_bessel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jn_minus_one` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn nextBessel(n: u64, x: f64, Jn_minus_one: f64, Jn_minus_two: f64) -> f64 {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^ help: convert the identifier to snake case: `jn_minus_one`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jn_minus_two` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:86:54
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn nextBessel(n: u64, x: f64, Jn_minus_one: f64, Jn_minus_two: f64) -> f64 {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^ help: convert the identifier to snake case: `jn_minus_two`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Jn` should have a snake case name
[INFO] [stdout]    --> src/bessel_utils.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn Jn(n: u64, x: f64) -> f64 {
[INFO] [stdout]     |        ^^ help: convert the identifier to snake case: `jn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Ufac` should have a snake case name
[INFO] [stdout]   --> src/diffraction_analytic.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut Ufac: Array1<Complex64> = Array::zeros(raster_size as usize);
[INFO] [stdout]    |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `ufac`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `FFT_1D` should have a snake case name
[INFO] [stdout]   --> src/fft_2D.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn FFT_1D(mut slice: ArrayViewMut1<Complex64>, length: usize){
[INFO] [stdout]    |    ^^^^^^ help: convert the identifier to snake case: `fft_1_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `FFT_2D` should have a snake case name
[INFO] [stdout]   --> src/fft_2D.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn FFT_2D(mut image: Array2<Complex64>) -> Array2<Complex64>{
[INFO] [stdout]    |        ^^^^^^ help: convert the identifier to snake case: `fft_2_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `FFTshift` should have a snake case name
[INFO] [stdout]   --> src/fft_2D.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn FFTshift(image: &mut Array2<Complex64>){
[INFO] [stdout]    |    ^^^^^^^^ help: convert the identifier to snake case: `fftshift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/diffraction_simulator.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |     if (x >= 0) && (x < image.ncols()) &&
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/diffraction_simulator.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         (z >= 0) && (z < image.nrows()) {
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/diffraction_simulator.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 |     if (x >= 0) && (x < image.ncols()) &&
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/diffraction_simulator.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         (z >= 0) && (z < image.nrows()) {
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 30 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `array_to_luminance`
[INFO] [stdout]  --> src/main.rs:2:45
[INFO] [stdout]   |
[INFO] [stdout] 2 | use helixiser::utilities::{adjust_contrast, array_to_luminance, luminance_to_rgba};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FFT_2D`, `pad_image`
[INFO] [stdout]  --> src/main.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use helixiser::fft_2D::{ FFT_2D, pad_image };
[INFO] [stdout]   |                          ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `projection_from_helix_family`
[INFO] [stdout]  --> src/main.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use helixiser::diffraction_simulator::{projection_from_helix_family};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `open::that`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use open::that;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `helixiser_web_link`
[INFO] [stdout]  --> src/main.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use helixiser::export::{ helixiser_web_link };
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Complex64`
[INFO] [stdout]   --> src/main.rs:10:28
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rustfft::num_complex::{Complex64};
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustfft::num_traits::Zero`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rustfft::num_traits::Zero;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `traits::Pow`
[INFO] [stdout]   --> src/main.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use num:: { traits::Pow };
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::GenericImageView`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use image::GenericImageView;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2`, `Array`
[INFO] [stdout]   --> src/main.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | use ndarray::{Array, Array2};
[INFO] [stdout]    |               ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 23.35s
[INFO] running `Command { std: "docker" "inspect" "6808c547f91fe212036fbccb0b4cae25e63ebf8beb50654d766efb6433b3ab8b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6808c547f91fe212036fbccb0b4cae25e63ebf8beb50654d766efb6433b3ab8b", kill_on_drop: false }`
[INFO] [stdout] 6808c547f91fe212036fbccb0b4cae25e63ebf8beb50654d766efb6433b3ab8b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-63/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-63/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f342d570757cb5ba7e4014a862e256983570b8a6048d750949ae2c28827e9118
[INFO] running `Command { std: "docker" "start" "-a" "f342d570757cb5ba7e4014a862e256983570b8a6048d750949ae2c28827e9118", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `traits::Pow`
[INFO] [stdout]   --> src/diffraction_analytic.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 | use num:: {Complex, complex::Complex64, traits::Pow };
[INFO] [stdout]    |                                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling helixiser v0.4.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `ArrayView1`, `ArrayView`, `ViewRepr`
[INFO] [stdout]   --> src/fft_2D.rs:13:38
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ndarray::{Array2, ArrayViewMut1, ArrayView1, ArrayView, Array, ViewRepr};
[INFO] [stdout]    |                                      ^^^^^^^^^^  ^^^^^^^^^         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::consts::PI`
[INFO] [stdout]  --> src/diffraction_simulator.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::f64::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_pix`
[INFO] [stdout]   --> src/diffraction_analytic.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let num_pix: usize = (raster_size * raster_size) as usize;
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_pix`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fill`
[INFO] [stdout]   --> src/fft_2D.rs:91:57
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn repetition_pad_image<T: Copy> (image: Array2<T>, fill: T) ->  Array2<T> {
[INFO] [stdout]    |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_fill`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `val` is never read
[INFO] [stdout]   --> src/diffraction_simulator.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut val:f64 = 0.;
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/diffraction_simulator.rs:83:69
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn draw_border_subunit(image: &mut Array2<f64>, x: usize, z: usize, size: f64){
[INFO] [stdout]    |                                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/fft_2D.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut row = image.row_mut(row_num);
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/fft_2D.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut column = image.column_mut(col_num);
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/diffraction_simulator.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut image_width: f64 = ( largest_radius[0] + largest_radius[1] ).ceil() * 2f64 + 4.;
[INFO] [stdout]    |         ----^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/diffraction_simulator.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut image_height: f64 = ( pitch_lengths * largest_pitch ).ceil();
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `fft_2D` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod fft_2D;
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `fft_2_d`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J0` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn J0(x: f64) -> f64 {
[INFO] [stdout]    |        ^^ help: convert the identifier to snake case: `j0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J1` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn J1(x: f64) -> f64 {
[INFO] [stdout]    |        ^^ help: convert the identifier to snake case: `j1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J0a` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn J0a(x: f64) -> f64 {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `j0a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J0b` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn J0b(x: f64) -> f64 {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `j0b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J1a` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn J1a(x: f64) -> f64 {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `j1a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J1b` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn J1b(x: f64) -> f64 {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `j1b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nextBessel` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn nextBessel(n: u64, x: f64, Jn_minus_one: f64, Jn_minus_two: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^ help: convert the identifier to snake case: `next_bessel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jn_minus_one` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn nextBessel(n: u64, x: f64, Jn_minus_one: f64, Jn_minus_two: f64) -> f64 {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^ help: convert the identifier to snake case: `jn_minus_one`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jn_minus_two` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:86:54
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn nextBessel(n: u64, x: f64, Jn_minus_one: f64, Jn_minus_two: f64) -> f64 {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^ help: convert the identifier to snake case: `jn_minus_two`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Jn` should have a snake case name
[INFO] [stdout]    --> src/bessel_utils.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn Jn(n: u64, x: f64) -> f64 {
[INFO] [stdout]     |        ^^ help: convert the identifier to snake case: `jn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Ufac` should have a snake case name
[INFO] [stdout]   --> src/diffraction_analytic.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut Ufac: Array1<Complex64> = Array::zeros(raster_size as usize);
[INFO] [stdout]    |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `ufac`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `FFT_1D` should have a snake case name
[INFO] [stdout]   --> src/fft_2D.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn FFT_1D(mut slice: ArrayViewMut1<Complex64>, length: usize){
[INFO] [stdout]    |    ^^^^^^ help: convert the identifier to snake case: `fft_1_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `FFT_2D` should have a snake case name
[INFO] [stdout]   --> src/fft_2D.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn FFT_2D(mut image: Array2<Complex64>) -> Array2<Complex64>{
[INFO] [stdout]    |        ^^^^^^ help: convert the identifier to snake case: `fft_2_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `FFTshift` should have a snake case name
[INFO] [stdout]   --> src/fft_2D.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn FFTshift(image: &mut Array2<Complex64>){
[INFO] [stdout]    |    ^^^^^^^^ help: convert the identifier to snake case: `fftshift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/diffraction_simulator.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |     if (x >= 0) && (x < image.ncols()) &&
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/diffraction_simulator.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         (z >= 0) && (z < image.nrows()) {
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/diffraction_simulator.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 |     if (x >= 0) && (x < image.ncols()) &&
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/diffraction_simulator.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         (z >= 0) && (z < image.nrows()) {
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 30 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `array_to_luminance`
[INFO] [stdout]  --> src/main.rs:2:45
[INFO] [stdout]   |
[INFO] [stdout] 2 | use helixiser::utilities::{adjust_contrast, array_to_luminance, luminance_to_rgba};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FFT_2D`, `pad_image`
[INFO] [stdout]  --> src/main.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use helixiser::fft_2D::{ FFT_2D, pad_image };
[INFO] [stdout]   |                          ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `projection_from_helix_family`
[INFO] [stdout]  --> src/main.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use helixiser::diffraction_simulator::{projection_from_helix_family};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `open::that`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use open::that;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `helixiser_web_link`
[INFO] [stdout]  --> src/main.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use helixiser::export::{ helixiser_web_link };
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Complex64`
[INFO] [stdout]   --> src/main.rs:10:28
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rustfft::num_complex::{Complex64};
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustfft::num_traits::Zero`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rustfft::num_traits::Zero;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `traits::Pow`
[INFO] [stdout]   --> src/main.rs:13:13
[INFO] [stdout]    |
[INFO] [stdout] 13 | use num:: { traits::Pow };
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::GenericImageView`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use image::GenericImageView;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array2`, `Array`
[INFO] [stdout]   --> src/main.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | use ndarray::{Array, Array2};
[INFO] [stdout]    |               ^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `traits::Pow`
[INFO] [stdout]   --> src/diffraction_analytic.rs:11:41
[INFO] [stdout]    |
[INFO] [stdout] 11 | use num:: {Complex, complex::Complex64, traits::Pow };
[INFO] [stdout]    |                                         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayView1`, `ArrayView`, `ViewRepr`
[INFO] [stdout]   --> src/fft_2D.rs:13:38
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ndarray::{Array2, ArrayViewMut1, ArrayView1, ArrayView, Array, ViewRepr};
[INFO] [stdout]    |                                      ^^^^^^^^^^  ^^^^^^^^^         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f64::consts::PI`
[INFO] [stdout]  --> src/diffraction_simulator.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::f64::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max`
[INFO] [stdout]   --> src/utilities.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let max =  adjusted_data.iter().cloned().fold(0./0., f64::max);
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_max`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min`
[INFO] [stdout]   --> src/utilities.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let min =  adjusted_data.iter().cloned().fold(0./0., f64::min);
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_pix`
[INFO] [stdout]   --> src/diffraction_analytic.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let num_pix: usize = (raster_size * raster_size) as usize;
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_pix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fill`
[INFO] [stdout]   --> src/fft_2D.rs:91:57
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn repetition_pad_image<T: Copy> (image: Array2<T>, fill: T) ->  Array2<T> {
[INFO] [stdout]    |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_fill`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `val` is never read
[INFO] [stdout]   --> src/diffraction_simulator.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut val:f64 = 0.;
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/diffraction_simulator.rs:83:69
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn draw_border_subunit(image: &mut Array2<f64>, x: usize, z: usize, size: f64){
[INFO] [stdout]    |                                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/fft_2D.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut row = image.row_mut(row_num);
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/fft_2D.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut column = image.column_mut(col_num);
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/diffraction_simulator.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut image_width: f64 = ( largest_radius[0] + largest_radius[1] ).ceil() * 2f64 + 4.;
[INFO] [stdout]    |         ----^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/diffraction_simulator.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut image_height: f64 = ( pitch_lengths * largest_pitch ).ceil();
[INFO] [stdout]    |         ----^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `fft_2D` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod fft_2D;
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `fft_2_d`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J0` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn J0(x: f64) -> f64 {
[INFO] [stdout]    |        ^^ help: convert the identifier to snake case: `j0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J1` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn J1(x: f64) -> f64 {
[INFO] [stdout]    |        ^^ help: convert the identifier to snake case: `j1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J0a` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn J0a(x: f64) -> f64 {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `j0a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J0b` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn J0b(x: f64) -> f64 {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `j0b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J1a` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub fn J1a(x: f64) -> f64 {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `j1a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `J1b` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn J1b(x: f64) -> f64 {
[INFO] [stdout]    |        ^^^ help: convert the identifier to snake case: `j1b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nextBessel` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn nextBessel(n: u64, x: f64, Jn_minus_one: f64, Jn_minus_two: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^ help: convert the identifier to snake case: `next_bessel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jn_minus_one` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn nextBessel(n: u64, x: f64, Jn_minus_one: f64, Jn_minus_two: f64) -> f64 {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^ help: convert the identifier to snake case: `jn_minus_one`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Jn_minus_two` should have a snake case name
[INFO] [stdout]   --> src/bessel_utils.rs:86:54
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn nextBessel(n: u64, x: f64, Jn_minus_one: f64, Jn_minus_two: f64) -> f64 {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^ help: convert the identifier to snake case: `jn_minus_two`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Jn` should have a snake case name
[INFO] [stdout]    --> src/bessel_utils.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub fn Jn(n: u64, x: f64) -> f64 {
[INFO] [stdout]     |        ^^ help: convert the identifier to snake case: `jn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Ufac` should have a snake case name
[INFO] [stdout]   --> src/diffraction_analytic.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let mut Ufac: Array1<Complex64> = Array::zeros(raster_size as usize);
[INFO] [stdout]    |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `ufac`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `FFT_1D` should have a snake case name
[INFO] [stdout]   --> src/fft_2D.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn FFT_1D(mut slice: ArrayViewMut1<Complex64>, length: usize){
[INFO] [stdout]    |    ^^^^^^ help: convert the identifier to snake case: `fft_1_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `FFT_2D` should have a snake case name
[INFO] [stdout]   --> src/fft_2D.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn FFT_2D(mut image: Array2<Complex64>) -> Array2<Complex64>{
[INFO] [stdout]    |        ^^^^^^ help: convert the identifier to snake case: `fft_2_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `FFTshift` should have a snake case name
[INFO] [stdout]   --> src/fft_2D.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn FFTshift(image: &mut Array2<Complex64>){
[INFO] [stdout]    |    ^^^^^^^^ help: convert the identifier to snake case: `fftshift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/diffraction_simulator.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 |     if (x >= 0) && (x < image.ncols()) &&
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/diffraction_simulator.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |         (z >= 0) && (z < image.nrows()) {
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/diffraction_simulator.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 |     if (x >= 0) && (x < image.ncols()) &&
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/diffraction_simulator.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         (z >= 0) && (z < image.nrows()) {
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 32 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.93s
[INFO] running `Command { std: "docker" "inspect" "f342d570757cb5ba7e4014a862e256983570b8a6048d750949ae2c28827e9118", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f342d570757cb5ba7e4014a862e256983570b8a6048d750949ae2c28827e9118", kill_on_drop: false }`
[INFO] [stdout] f342d570757cb5ba7e4014a862e256983570b8a6048d750949ae2c28827e9118
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-63/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-63/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 60461846a3ad2fe587916c2c92380b6f080f607c60ff0a722fb5c1b3b5deb290
[INFO] running `Command { std: "docker" "start" "-a" "60461846a3ad2fe587916c2c92380b6f080f607c60ff0a722fb5c1b3b5deb290", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr] warning: unused import: `traits::Pow`
[INFO] [stderr]   --> src/diffraction_analytic.rs:11:41
[INFO] [stderr]    |
[INFO] [stderr] 11 | use num:: {Complex, complex::Complex64, traits::Pow };
[INFO] [stderr]    |                                         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ArrayView1`, `ArrayView`, `ViewRepr`
[INFO] [stderr]   --> src/fft_2D.rs:13:38
[INFO] [stderr]    |
[INFO] [stderr] 13 | use ndarray::{Array2, ArrayViewMut1, ArrayView1, ArrayView, Array, ViewRepr};
[INFO] [stderr]    |                                      ^^^^^^^^^^  ^^^^^^^^^         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::f64::consts::PI`
[INFO] [stderr]  --> src/diffraction_simulator.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::f64::consts::PI;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `num_pix`
[INFO] [stderr]   --> src/diffraction_analytic.rs:43:9
[INFO] [stderr]    |
[INFO] [stderr] 43 |     let num_pix: usize = (raster_size * raster_size) as usize;
[INFO] [stderr]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_pix`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fill`
[INFO] [stderr]   --> src/fft_2D.rs:91:57
[INFO] [stderr]    |
[INFO] [stderr] 91 | pub fn repetition_pad_image<T: Copy> (image: Array2<T>, fill: T) ->  Array2<T> {
[INFO] [stderr]    |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_fill`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `val` is never read
[INFO] [stderr]   --> src/diffraction_simulator.rs:63:17
[INFO] [stderr]    |
[INFO] [stderr] 63 |         let mut val:f64 = 0.;
[INFO] [stderr]    |                 ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `size`
[INFO] [stderr]   --> src/diffraction_simulator.rs:83:69
[INFO] [stderr]    |
[INFO] [stderr] 83 | fn draw_border_subunit(image: &mut Array2<f64>, x: usize, z: usize, size: f64){
[INFO] [stderr]    |                                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/fft_2D.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |         let mut row = image.row_mut(row_num);
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/fft_2D.rs:42:13
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let mut column = image.column_mut(col_num);
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/diffraction_simulator.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 28 |     let mut image_width: f64 = ( largest_radius[0] + largest_radius[1] ).ceil() * 2f64 + 4.;
[INFO] [stderr]    |         ----^^^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/diffraction_simulator.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |     let mut image_height: f64 = ( pitch_lengths * largest_pitch ).ceil();
[INFO] [stderr]    |         ----^^^^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: module `fft_2D` should have a snake case name
[INFO] [stderr]   --> src/lib.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub mod fft_2D;
[INFO] [stderr]    |         ^^^^^^ help: convert the identifier to snake case: `fft_2_d`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `J0` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn J0(x: f64) -> f64 {
[INFO] [stderr]    |        ^^ help: convert the identifier to snake case: `j0`
[INFO] [stderr] 
[INFO] [stderr] warning: function `J1` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn J1(x: f64) -> f64 {
[INFO] [stderr]    |        ^^ help: convert the identifier to snake case: `j1`
[INFO] [stderr] 
[INFO] [stderr] warning: function `J0a` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:48:8
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub fn J0a(x: f64) -> f64 {
[INFO] [stderr]    |        ^^^ help: convert the identifier to snake case: `j0a`
[INFO] [stderr] 
[INFO] [stderr] warning: function `J0b` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:59:8
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub fn J0b(x: f64) -> f64 {
[INFO] [stderr]    |        ^^^ help: convert the identifier to snake case: `j0b`
[INFO] [stderr] 
[INFO] [stderr] warning: function `J1a` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:65:8
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub fn J1a(x: f64) -> f64 {
[INFO] [stderr]    |        ^^^ help: convert the identifier to snake case: `j1a`
[INFO] [stderr] 
[INFO] [stderr] warning: function `J1b` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:74:8
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub fn J1b(x: f64) -> f64 {
[INFO] [stderr]    |        ^^^ help: convert the identifier to snake case: `j1b`
[INFO] [stderr] 
[INFO] [stderr] warning: function `nextBessel` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:86:8
[INFO] [stderr]    |
[INFO] [stderr] 86 | pub fn nextBessel(n: u64, x: f64, Jn_minus_one: f64, Jn_minus_two: f64) -> f64 {
[INFO] [stderr]    |        ^^^^^^^^^^ help: convert the identifier to snake case: `next_bessel`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Jn_minus_one` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:86:35
[INFO] [stderr]    |
[INFO] [stderr] 86 | pub fn nextBessel(n: u64, x: f64, Jn_minus_one: f64, Jn_minus_two: f64) -> f64 {
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ help: convert the identifier to snake case: `jn_minus_one`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Jn_minus_two` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:86:54
[INFO] [stderr]    |
[INFO] [stderr] 86 | pub fn nextBessel(n: u64, x: f64, Jn_minus_one: f64, Jn_minus_two: f64) -> f64 {
[INFO] [stderr]    |                                                      ^^^^^^^^^^^^ help: convert the identifier to snake case: `jn_minus_two`
[INFO] [stderr] 
[INFO] [stderr] warning: function `Jn` should have a snake case name
[INFO] [stderr]    --> src/bessel_utils.rs:127:8
[INFO] [stderr]     |
[INFO] [stderr] 127 | pub fn Jn(n: u64, x: f64) -> f64 {
[INFO] [stderr]     |        ^^ help: convert the identifier to snake case: `jn`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Ufac` should have a snake case name
[INFO] [stderr]   --> src/diffraction_analytic.rs:63:13
[INFO] [stderr]    |
[INFO] [stderr] 63 |     let mut Ufac: Array1<Complex64> = Array::zeros(raster_size as usize);
[INFO] [stderr]    |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `ufac`
[INFO] [stderr] 
[INFO] [stderr] warning: function `FFT_1D` should have a snake case name
[INFO] [stderr]   --> src/fft_2D.rs:18:4
[INFO] [stderr]    |
[INFO] [stderr] 18 | fn FFT_1D(mut slice: ArrayViewMut1<Complex64>, length: usize){
[INFO] [stderr]    |    ^^^^^^ help: convert the identifier to snake case: `fft_1_d`
[INFO] [stderr] 
[INFO] [stderr] warning: function `FFT_2D` should have a snake case name
[INFO] [stderr]   --> src/fft_2D.rs:30:8
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub fn FFT_2D(mut image: Array2<Complex64>) -> Array2<Complex64>{
[INFO] [stderr]    |        ^^^^^^ help: convert the identifier to snake case: `fft_2_d`
[INFO] [stderr] 
[INFO] [stderr] warning: function `FFTshift` should have a snake case name
[INFO] [stderr]   --> src/fft_2D.rs:53:4
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn FFTshift(image: &mut Array2<Complex64>){
[INFO] [stderr]    |    ^^^^^^^^ help: convert the identifier to snake case: `fftshift`
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]   --> src/diffraction_simulator.rs:60:8
[INFO] [stderr]    |
[INFO] [stderr] 60 |     if (x >= 0) && (x < image.ncols()) &&
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]   --> src/diffraction_simulator.rs:61:9
[INFO] [stderr]    |
[INFO] [stderr] 61 |         (z >= 0) && (z < image.nrows()) {
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]   --> src/diffraction_simulator.rs:84:8
[INFO] [stderr]    |
[INFO] [stderr] 84 |     if (x >= 0) && (x < image.ncols()) &&
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]   --> src/diffraction_simulator.rs:85:9
[INFO] [stderr]    |
[INFO] [stderr] 85 |         (z >= 0) && (z < image.nrows()) {
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 30 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `traits::Pow`
[INFO] [stderr]   --> src/diffraction_analytic.rs:11:41
[INFO] [stderr]    |
[INFO] [stderr] 11 | use num:: {Complex, complex::Complex64, traits::Pow };
[INFO] [stderr]    |                                         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ArrayView1`, `ArrayView`, `ViewRepr`
[INFO] [stderr]   --> src/fft_2D.rs:13:38
[INFO] [stderr]    |
[INFO] [stderr] 13 | use ndarray::{Array2, ArrayViewMut1, ArrayView1, ArrayView, Array, ViewRepr};
[INFO] [stderr]    |                                      ^^^^^^^^^^  ^^^^^^^^^         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::f64::consts::PI`
[INFO] [stderr]  --> src/diffraction_simulator.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::f64::consts::PI;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `max`
[INFO] [stderr]   --> src/utilities.rs:82:13
[INFO] [stderr]    |
[INFO] [stderr] 82 |         let max =  adjusted_data.iter().cloned().fold(0./0., f64::max);
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_max`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `min`
[INFO] [stderr]   --> src/utilities.rs:97:13
[INFO] [stderr]    |
[INFO] [stderr] 97 |         let min =  adjusted_data.iter().cloned().fold(0./0., f64::min);
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_min`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `num_pix`
[INFO] [stderr]   --> src/diffraction_analytic.rs:43:9
[INFO] [stderr]    |
[INFO] [stderr] 43 |     let num_pix: usize = (raster_size * raster_size) as usize;
[INFO] [stderr]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_pix`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fill`
[INFO] [stderr]   --> src/fft_2D.rs:91:57
[INFO] [stderr]    |
[INFO] [stderr] 91 | pub fn repetition_pad_image<T: Copy> (image: Array2<T>, fill: T) ->  Array2<T> {
[INFO] [stderr]    |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_fill`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `val` is never read
[INFO] [stderr]   --> src/diffraction_simulator.rs:63:17
[INFO] [stderr]    |
[INFO] [stderr] 63 |         let mut val:f64 = 0.;
[INFO] [stderr]    |                 ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `size`
[INFO] [stderr]   --> src/diffraction_simulator.rs:83:69
[INFO] [stderr]    |
[INFO] [stderr] 83 | fn draw_border_subunit(image: &mut Array2<f64>, x: usize, z: usize, size: f64){
[INFO] [stderr]    |                                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/fft_2D.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |         let mut row = image.row_mut(row_num);
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/fft_2D.rs:42:13
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let mut column = image.column_mut(col_num);
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/diffraction_simulator.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 28 |     let mut image_width: f64 = ( largest_radius[0] + largest_radius[1] ).ceil() * 2f64 + 4.;
[INFO] [stderr]    |         ----^^^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/diffraction_simulator.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |     let mut image_height: f64 = ( pitch_lengths * largest_pitch ).ceil();
[INFO] [stderr]    |         ----^^^^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: module `fft_2D` should have a snake case name
[INFO] [stderr]   --> src/lib.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub mod fft_2D;
[INFO] [stderr]    |         ^^^^^^ help: convert the identifier to snake case: `fft_2_d`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `J0` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn J0(x: f64) -> f64 {
[INFO] [stderr]    |        ^^ help: convert the identifier to snake case: `j0`
[INFO] [stderr] 
[INFO] [stderr] warning: function `J1` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub fn J1(x: f64) -> f64 {
[INFO] [stderr]    |        ^^ help: convert the identifier to snake case: `j1`
[INFO] [stderr] 
[INFO] [stderr] warning: function `J0a` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:48:8
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub fn J0a(x: f64) -> f64 {
[INFO] [stderr]    |        ^^^ help: convert the identifier to snake case: `j0a`
[INFO] [stderr] 
[INFO] [stderr] warning: function `J0b` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:59:8
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub fn J0b(x: f64) -> f64 {
[INFO] [stderr]    |        ^^^ help: convert the identifier to snake case: `j0b`
[INFO] [stderr] 
[INFO] [stderr] warning: function `J1a` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:65:8
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub fn J1a(x: f64) -> f64 {
[INFO] [stderr]    |        ^^^ help: convert the identifier to snake case: `j1a`
[INFO] [stderr] 
[INFO] [stderr] warning: function `J1b` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:74:8
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub fn J1b(x: f64) -> f64 {
[INFO] [stderr]    |        ^^^ help: convert the identifier to snake case: `j1b`
[INFO] [stderr] 
[INFO] [stderr] warning: function `nextBessel` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:86:8
[INFO] [stderr]    |
[INFO] [stderr] 86 | pub fn nextBessel(n: u64, x: f64, Jn_minus_one: f64, Jn_minus_two: f64) -> f64 {
[INFO] [stderr]    |        ^^^^^^^^^^ help: convert the identifier to snake case: `next_bessel`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Jn_minus_one` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:86:35
[INFO] [stderr]    |
[INFO] [stderr] 86 | pub fn nextBessel(n: u64, x: f64, Jn_minus_one: f64, Jn_minus_two: f64) -> f64 {
[INFO] [stderr]    |                                   ^^^^^^^^^^^^ help: convert the identifier to snake case: `jn_minus_one`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Jn_minus_two` should have a snake case name
[INFO] [stderr]   --> src/bessel_utils.rs:86:54
[INFO] [stderr]    |
[INFO] [stderr] 86 | pub fn nextBessel(n: u64, x: f64, Jn_minus_one: f64, Jn_minus_two: f64) -> f64 {
[INFO] [stderr]    |                                                      ^^^^^^^^^^^^ help: convert the identifier to snake case: `jn_minus_two`
[INFO] [stderr] 
[INFO] [stderr] warning: function `Jn` should have a snake case name
[INFO] [stderr]    --> src/bessel_utils.rs:127:8
[INFO] [stderr]     |
[INFO] [stderr] 127 | pub fn Jn(n: u64, x: f64) -> f64 {
[INFO] [stderr]     |        ^^ help: convert the identifier to snake case: `jn`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Ufac` should have a snake case name
[INFO] [stderr]   --> src/diffraction_analytic.rs:63:13
[INFO] [stderr]    |
[INFO] [stderr] 63 |     let mut Ufac: Array1<Complex64> = Array::zeros(raster_size as usize);
[INFO] [stderr]    |             ^^^^ help: convert the identifier to snake case (notice the capitalization): `ufac`
[INFO] [stderr] 
[INFO] [stderr] warning: function `FFT_1D` should have a snake case name
[INFO] [stderr]   --> src/fft_2D.rs:18:4
[INFO] [stderr]    |
[INFO] [stderr] 18 | fn FFT_1D(mut slice: ArrayViewMut1<Complex64>, length: usize){
[INFO] [stderr]    |    ^^^^^^ help: convert the identifier to snake case: `fft_1_d`
[INFO] [stderr] 
[INFO] [stderr] warning: function `FFT_2D` should have a snake case name
[INFO] [stderr]   --> src/fft_2D.rs:30:8
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub fn FFT_2D(mut image: Array2<Complex64>) -> Array2<Complex64>{
[INFO] [stderr]    |        ^^^^^^ help: convert the identifier to snake case: `fft_2_d`
[INFO] [stderr] 
[INFO] [stderr] warning: function `FFTshift` should have a snake case name
[INFO] [stderr]   --> src/fft_2D.rs:53:4
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn FFTshift(image: &mut Array2<Complex64>){
[INFO] [stderr]    |    ^^^^^^^^ help: convert the identifier to snake case: `fftshift`
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]   --> src/diffraction_simulator.rs:60:8
[INFO] [stderr]    |
[INFO] [stderr] 60 |     if (x >= 0) && (x < image.ncols()) &&
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]   --> src/diffraction_simulator.rs:61:9
[INFO] [stderr]    |
[INFO] [stderr] 61 |         (z >= 0) && (z < image.nrows()) {
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]   --> src/diffraction_simulator.rs:84:8
[INFO] [stderr]    |
[INFO] [stderr] 84 |     if (x >= 0) && (x < image.ncols()) &&
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]   --> src/diffraction_simulator.rs:85:9
[INFO] [stderr]    |
[INFO] [stderr] 85 |         (z >= 0) && (z < image.nrows()) {
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 32 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `array_to_luminance`
[INFO] [stderr]  --> src/main.rs:2:45
[INFO] [stderr]   |
[INFO] [stderr] 2 | use helixiser::utilities::{adjust_contrast, array_to_luminance, luminance_to_rgba};
[INFO] [stderr]   |                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `FFT_2D`, `pad_image`
[INFO] [stderr]  --> src/main.rs:3:26
[INFO] [stderr]   |
[INFO] [stderr] 3 | use helixiser::fft_2D::{ FFT_2D, pad_image };
[INFO] [stderr]   |                          ^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `projection_from_helix_family`
[INFO] [stderr]  --> src/main.rs:4:40
[INFO] [stderr]   |
[INFO] [stderr] 4 | use helixiser::diffraction_simulator::{projection_from_helix_family};
[INFO] [stderr]   |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `open::that`
[INFO] [stderr]  --> src/main.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use open::that;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `helixiser_web_link`
[INFO] [stderr]  --> src/main.rs:8:26
[INFO] [stderr]   |
[INFO] [stderr] 8 | use helixiser::export::{ helixiser_web_link };
[INFO] [stderr]   |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Complex64`
[INFO] [stderr]   --> src/main.rs:10:28
[INFO] [stderr]    |
[INFO] [stderr] 10 | use rustfft::num_complex::{Complex64};
[INFO] [stderr]    |                            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rustfft::num_traits::Zero`
[INFO] [stderr]   --> src/main.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use rustfft::num_traits::Zero;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `traits::Pow`
[INFO] [stderr]   --> src/main.rs:13:13
[INFO] [stderr]    |
[INFO] [stderr] 13 | use num:: { traits::Pow };
[INFO] [stderr]    |             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]   --> src/main.rs:17:17
[INFO] [stderr]    |
[INFO] [stderr] 17 | use std::time::{Duration, Instant};
[INFO] [stderr]    |                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `image::GenericImageView`
[INFO] [stderr]   --> src/main.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use image::GenericImageView;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Array2`, `Array`
[INFO] [stderr]   --> src/main.rs:20:15
[INFO] [stderr]    |
[INFO] [stderr] 20 | use ndarray::{Array, Array2};
[INFO] [stderr]    |               ^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 11 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/helixiser-f50ce49f84ac9ade)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test utilities::tests::alpha ... ok
[INFO] [stdout] test utilities::tests::max_100 ... ok
[INFO] [stdout] test utilities::tests::min_100 ... ok
[INFO] [stdout] test utilities::tests::offset ... ok
[INFO] [stdout] test wavefront::tests::complex_to_intensities ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/helixiser-c79ce8f0f46a5267)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests helixiser
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test src/bessel_utils.rs - bessel_utils::bessel_first_max (line 182) ... FAILED
[INFO] [stdout] test src/bessel_utils.rs - bessel_utils::Jn (line 111) ... FAILED
[INFO] [stdout] test src/utilities.rs - utilities::array_to_luminance (line 30) ... FAILED
[INFO] [stdout] test src/utilities.rs - utilities::adjust_contrast (line 10) ... ok
[INFO] [stdout] test src/helix.rs - helix::Helix::new (line 31) ... ok
[INFO] [stdout] test src/helix.rs - helix::Helix::rotation_to_rad (line 79) ... ok
[INFO] [stdout] test src/utilities.rs - utilities::luminance_to_rgba (line 45) ... ok
[INFO] [stdout] test src/diffraction_analytic.rs - diffraction_analytic::diff_analytic (line 17) ... ok
[INFO] [stdout] test src/wavefront.rs - wavefront::Wavefront::rescale (line 29) ... ok
[INFO] [stdout] test src/helix.rs - helix::Helix::pitch (line 63) ... ok
[INFO] [stdout] test src/helix.rs - helix::Helix::rad_per_subunit (line 96) ... ok
[INFO] [stdout] test src/export.rs - export::helixiser_web_link (line 7) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/bessel_utils.rs - bessel_utils::bessel_first_max (line 182) stdout ----
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: "cc" "-m64" "/tmp/rustdoctestyhQabY/rust_out.rust_out.7rcbfp3g-cgu.0.rcgu.o" "/tmp/rustdoctestyhQabY/rust_out.33dyzt1ekirinwy8.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libassert_approx_eq-a7caedafd88bed61.rlib" "/opt/rustwide/target/debug/deps/libhelixiser.rlib" "/opt/rustwide/target/debug/deps/libimage-c8095e95be129eec.rlib" "/opt/rustwide/target/debug/deps/libbytemuck-0499254a8fcdf97e.rlib" "/opt/rustwide/target/debug/deps/libpng-0bf52c89d93f17c7.rlib" "/opt/rustwide/target/debug/deps/libcrc32fast-e2919975640cb346.rlib" "/opt/rustwide/target/debug/deps/libdeflate-b25b8a0cf85fe5b0.rlib" "/opt/rustwide/target/debug/deps/libbitflags-f89ae4b715176e2d.rlib" "/opt/rustwide/target/debug/deps/libjpeg_decoder-f84b711f5f859e43.rlib" "/opt/rustwide/target/debug/deps/librayon-760b6c827b3a98fe.rlib" "/opt/rustwide/target/debug/deps/librayon_core-47d8d80fb4a58eb1.rlib" "/opt/rustwide/target/debug/deps/libnum_cpus-6b902aceb0fb7eef.rlib" "/opt/rustwide/target/debug/deps/liblibc-e4461f962dbe23c2.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_deque-9726124deeebfffc.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_epoch-1733092f9297e006.rlib" "/opt/rustwide/target/debug/deps/libscopeguard-7a1710762e6687e9.rlib" "/opt/rustwide/target/debug/deps/libmemoffset-80a8b243bb378dac.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_channel-316e2b8f1f795595.rlib" "/opt/rustwide/target/debug/deps/libmaybe_uninit-17ac005437abed86.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-b76e7ff1d6357fef.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-5c53d641eb010a81.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-e7a28af79b261e75.rlib" "/opt/rustwide/target/debug/deps/libeither-d9f29bd14fabe55e.rlib" "/opt/rustwide/target/debug/deps/libscoped_threadpool-b57ca677d8d780cf.rlib" "/opt/rustwide/target/debug/deps/libgif-74e64bddc1e08a86.rlib" "/opt/rustwide/target/debug/deps/libcolor_quant-c1085f86cbd02ea9.rlib" "/opt/rustwide/target/debug/deps/libtiff-8dd2d7f33dab91db.rlib" "/opt/rustwide/target/debug/deps/libminiz_oxide-396e6b4aeac65559.rlib" "/opt/rustwide/target/debug/deps/libadler32-d2a950228df2f2e4.rlib" "/opt/rustwide/target/debug/deps/liblzw-297107eb927d29ad.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-d836ba3e41654e24.rlib" "/opt/rustwide/target/debug/deps/librustfft-499f52e4562d1b40.rlib" "/opt/rustwide/target/debug/deps/libtranspose-9c03879cad6d39e3.rlib" "/opt/rustwide/target/debug/deps/libstrength_reduce-5db19da98b2c80b4.rlib" "/opt/rustwide/target/debug/deps/libndarray-9830f18bfaa13ec4.rlib" "/opt/rustwide/target/debug/deps/libmatrixmultiply-967cdb52faf7e426.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-af9a1f70d5d6d25f.rlib" "/opt/rustwide/target/debug/deps/librawpointer-007031bc2b481d22.rlib" "/opt/rustwide/target/debug/deps/libnum-80a917359d050cee.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-68a03901ba0e07fb.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-361af119d17733b7.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-5331b5afc386f131.rlib" "/opt/rustwide/target/debug/deps/libnum_bigint-e7addf3a55280cfe.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-ef72a484cd17f737.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-73b579fd38ceeee1.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-2420485b9e5ef5e1.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-785e3cb61c4b1960.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-087191a88bdaa22d.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-9981842c02975178.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-6fb405869b015fde.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-d05c5c3c56004b7b.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-42d74d2097528b38.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-fb36534c113d2209.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-b56b9042c12b6535.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-491902d6cb3e76df.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-61834e0981b8c367.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-f78aa99d613a55bc.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-53ee54cd7fed2c57.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-544ecdbd6cda3c58.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-379cc252b6943a79.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-8063eea38dcc5e62.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-5b228734afae15ee.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d6c7a399d95d173f.rlib" "-Wl,-Bdynamic" "-lutil" "-ldl" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/tmp/rustdoctestyhQabY/rust_out" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs"
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/bessel_utils.rs - bessel_utils::Jn (line 111) stdout ----
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: "cc" "-m64" "/tmp/rustdoctestuiZIqu/rust_out.rust_out.7rcbfp3g-cgu.0.rcgu.o" "/tmp/rustdoctestuiZIqu/rust_out.33dyzt1ekirinwy8.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libassert_approx_eq-a7caedafd88bed61.rlib" "/opt/rustwide/target/debug/deps/libhelixiser.rlib" "/opt/rustwide/target/debug/deps/libimage-c8095e95be129eec.rlib" "/opt/rustwide/target/debug/deps/libbytemuck-0499254a8fcdf97e.rlib" "/opt/rustwide/target/debug/deps/libpng-0bf52c89d93f17c7.rlib" "/opt/rustwide/target/debug/deps/libcrc32fast-e2919975640cb346.rlib" "/opt/rustwide/target/debug/deps/libdeflate-b25b8a0cf85fe5b0.rlib" "/opt/rustwide/target/debug/deps/libbitflags-f89ae4b715176e2d.rlib" "/opt/rustwide/target/debug/deps/libjpeg_decoder-f84b711f5f859e43.rlib" "/opt/rustwide/target/debug/deps/librayon-760b6c827b3a98fe.rlib" "/opt/rustwide/target/debug/deps/librayon_core-47d8d80fb4a58eb1.rlib" "/opt/rustwide/target/debug/deps/libnum_cpus-6b902aceb0fb7eef.rlib" "/opt/rustwide/target/debug/deps/liblibc-e4461f962dbe23c2.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_deque-9726124deeebfffc.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_epoch-1733092f9297e006.rlib" "/opt/rustwide/target/debug/deps/libscopeguard-7a1710762e6687e9.rlib" "/opt/rustwide/target/debug/deps/libmemoffset-80a8b243bb378dac.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_channel-316e2b8f1f795595.rlib" "/opt/rustwide/target/debug/deps/libmaybe_uninit-17ac005437abed86.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-b76e7ff1d6357fef.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-5c53d641eb010a81.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-e7a28af79b261e75.rlib" "/opt/rustwide/target/debug/deps/libeither-d9f29bd14fabe55e.rlib" "/opt/rustwide/target/debug/deps/libscoped_threadpool-b57ca677d8d780cf.rlib" "/opt/rustwide/target/debug/deps/libgif-74e64bddc1e08a86.rlib" "/opt/rustwide/target/debug/deps/libcolor_quant-c1085f86cbd02ea9.rlib" "/opt/rustwide/target/debug/deps/libtiff-8dd2d7f33dab91db.rlib" "/opt/rustwide/target/debug/deps/libminiz_oxide-396e6b4aeac65559.rlib" "/opt/rustwide/target/debug/deps/libadler32-d2a950228df2f2e4.rlib" "/opt/rustwide/target/debug/deps/liblzw-297107eb927d29ad.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-d836ba3e41654e24.rlib" "/opt/rustwide/target/debug/deps/librustfft-499f52e4562d1b40.rlib" "/opt/rustwide/target/debug/deps/libtranspose-9c03879cad6d39e3.rlib" "/opt/rustwide/target/debug/deps/libstrength_reduce-5db19da98b2c80b4.rlib" "/opt/rustwide/target/debug/deps/libndarray-9830f18bfaa13ec4.rlib" "/opt/rustwide/target/debug/deps/libmatrixmultiply-967cdb52faf7e426.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-af9a1f70d5d6d25f.rlib" "/opt/rustwide/target/debug/deps/librawpointer-007031bc2b481d22.rlib" "/opt/rustwide/target/debug/deps/libnum-80a917359d050cee.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-68a03901ba0e07fb.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-361af119d17733b7.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-5331b5afc386f131.rlib" "/opt/rustwide/target/debug/deps/libnum_bigint-e7addf3a55280cfe.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-ef72a484cd17f737.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-73b579fd38ceeee1.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-2420485b9e5ef5e1.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-785e3cb61c4b1960.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-087191a88bdaa22d.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-9981842c02975178.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-6fb405869b015fde.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-d05c5c3c56004b7b.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-42d74d2097528b38.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-fb36534c113d2209.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-b56b9042c12b6535.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-491902d6cb3e76df.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-61834e0981b8c367.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-f78aa99d613a55bc.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-53ee54cd7fed2c57.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-544ecdbd6cda3c58.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-379cc252b6943a79.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-8063eea38dcc5e62.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-5b228734afae15ee.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d6c7a399d95d173f.rlib" "-Wl,-Bdynamic" "-lutil" "-ldl" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/tmp/rustdoctestuiZIqu/rust_out" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs"
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/utilities.rs - utilities::array_to_luminance (line 30) stdout ----
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: "cc" "-m64" "/tmp/rustdoctestSNmpAq/rust_out.rust_out.7rcbfp3g-cgu.0.rcgu.o" "/tmp/rustdoctestSNmpAq/rust_out.33dyzt1ekirinwy8.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libhelixiser.rlib" "/opt/rustwide/target/debug/deps/libimage-c8095e95be129eec.rlib" "/opt/rustwide/target/debug/deps/libbytemuck-0499254a8fcdf97e.rlib" "/opt/rustwide/target/debug/deps/libpng-0bf52c89d93f17c7.rlib" "/opt/rustwide/target/debug/deps/libcrc32fast-e2919975640cb346.rlib" "/opt/rustwide/target/debug/deps/libdeflate-b25b8a0cf85fe5b0.rlib" "/opt/rustwide/target/debug/deps/libbitflags-f89ae4b715176e2d.rlib" "/opt/rustwide/target/debug/deps/libjpeg_decoder-f84b711f5f859e43.rlib" "/opt/rustwide/target/debug/deps/librayon-760b6c827b3a98fe.rlib" "/opt/rustwide/target/debug/deps/librayon_core-47d8d80fb4a58eb1.rlib" "/opt/rustwide/target/debug/deps/libnum_cpus-6b902aceb0fb7eef.rlib" "/opt/rustwide/target/debug/deps/liblibc-e4461f962dbe23c2.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_deque-9726124deeebfffc.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_epoch-1733092f9297e006.rlib" "/opt/rustwide/target/debug/deps/libscopeguard-7a1710762e6687e9.rlib" "/opt/rustwide/target/debug/deps/libmemoffset-80a8b243bb378dac.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_channel-316e2b8f1f795595.rlib" "/opt/rustwide/target/debug/deps/libmaybe_uninit-17ac005437abed86.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-b76e7ff1d6357fef.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-5c53d641eb010a81.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-e7a28af79b261e75.rlib" "/opt/rustwide/target/debug/deps/libeither-d9f29bd14fabe55e.rlib" "/opt/rustwide/target/debug/deps/libscoped_threadpool-b57ca677d8d780cf.rlib" "/opt/rustwide/target/debug/deps/libgif-74e64bddc1e08a86.rlib" "/opt/rustwide/target/debug/deps/libcolor_quant-c1085f86cbd02ea9.rlib" "/opt/rustwide/target/debug/deps/libtiff-8dd2d7f33dab91db.rlib" "/opt/rustwide/target/debug/deps/libminiz_oxide-396e6b4aeac65559.rlib" "/opt/rustwide/target/debug/deps/libadler32-d2a950228df2f2e4.rlib" "/opt/rustwide/target/debug/deps/liblzw-297107eb927d29ad.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-d836ba3e41654e24.rlib" "/opt/rustwide/target/debug/deps/librustfft-499f52e4562d1b40.rlib" "/opt/rustwide/target/debug/deps/libtranspose-9c03879cad6d39e3.rlib" "/opt/rustwide/target/debug/deps/libstrength_reduce-5db19da98b2c80b4.rlib" "/opt/rustwide/target/debug/deps/libndarray-9830f18bfaa13ec4.rlib" "/opt/rustwide/target/debug/deps/libmatrixmultiply-967cdb52faf7e426.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-af9a1f70d5d6d25f.rlib" "/opt/rustwide/target/debug/deps/librawpointer-007031bc2b481d22.rlib" "/opt/rustwide/target/debug/deps/libnum-80a917359d050cee.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-68a03901ba0e07fb.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-361af119d17733b7.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-5331b5afc386f131.rlib" "/opt/rustwide/target/debug/deps/libnum_bigint-e7addf3a55280cfe.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-ef72a484cd17f737.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-73b579fd38ceeee1.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-2420485b9e5ef5e1.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-785e3cb61c4b1960.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-087191a88bdaa22d.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-9981842c02975178.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-6fb405869b015fde.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-d05c5c3c56004b7b.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-42d74d2097528b38.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-fb36534c113d2209.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-b56b9042c12b6535.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-491902d6cb3e76df.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-61834e0981b8c367.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-f78aa99d613a55bc.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-53ee54cd7fed2c57.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-544ecdbd6cda3c58.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-379cc252b6943a79.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-8063eea38dcc5e62.rlib" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-5b228734afae15ee.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d6c7a399d95d173f.rlib" "-Wl,-Bdynamic" "-lutil" "-ldl" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/1.54.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/tmp/rustdoctestSNmpAq/rust_out" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs"
[INFO] [stdout]   = note: collect2: fatal error: ld terminated with signal 9 [Killed]
[INFO] [stdout]           compilation terminated.
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/bessel_utils.rs - bessel_utils::Jn (line 111)
[INFO] [stdout]     src/bessel_utils.rs - bessel_utils::bessel_first_max (line 182)
[INFO] [stdout]     src/utilities.rs - utilities::array_to_luminance (line 30)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 9 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.87s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass '--doc'
[INFO] running `Command { std: "docker" "inspect" "60461846a3ad2fe587916c2c92380b6f080f607c60ff0a722fb5c1b3b5deb290", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "60461846a3ad2fe587916c2c92380b6f080f607c60ff0a722fb5c1b3b5deb290", kill_on_drop: false }`
[INFO] [stdout] 60461846a3ad2fe587916c2c92380b6f080f607c60ff0a722fb5c1b3b5deb290
