Nov 30 15:12:09.058 INFO checking sounding-analysis-0.9.2 against master#a49316ddc99d9d595193557fc899f6c52e4d9af9 for pr-56323 Nov 30 15:12:09.058 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56323/worker-1/master#a49316ddc99d9d595193557fc899f6c52e4d9af9:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-1/pr-56323/master#a49316ddc99d9d595193557fc899f6c52e4d9af9:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +a49316ddc99d9d595193557fc899f6c52e4d9af9-alt check --frozen --all --all-targets" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Nov 30 15:12:09.572 INFO [stdout] 51c7a4d98e8dfbe2e0f6b9cff4572460e1dcb6ba61539e84cf518bfbca24ecce Nov 30 15:12:09.580 INFO running `"docker" "start" "-a" "51c7a4d98e8dfbe2e0f6b9cff4572460e1dcb6ba61539e84cf518bfbca24ecce"` Nov 30 15:12:10.883 INFO [stderr] usermod: no changes Nov 30 15:12:11.004 INFO [stderr] Checking optional v0.5.0 Nov 30 15:12:11.004 INFO [stderr] Checking metfor v0.4.0 Nov 30 15:12:11.004 INFO [stderr] Checking optional v0.4.3 Nov 30 15:12:11.814 INFO [stderr] Checking sounding-base v0.8.1 Nov 30 15:12:12.511 INFO [stderr] Checking sounding-validate v0.8.1 Nov 30 15:12:12.511 INFO [stderr] Checking sounding-analysis v0.9.2 (/source) Nov 30 15:12:13.702 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:13.702 INFO [stderr] --> src/interpolation.rs:28:23 Nov 30 15:12:13.702 INFO [stderr] | Nov 30 15:12:13.702 INFO [stderr] 28 | result.pressure = Optioned::from(target_p); Nov 30 15:12:13.702 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:13.702 INFO [stderr] | Nov 30 15:12:13.702 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:13.702 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:13.702 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:13.702 INFO [stderr] --> src/interpolation.rs:28:23 Nov 30 15:12:13.702 INFO [stderr] | Nov 30 15:12:13.702 INFO [stderr] 28 | result.pressure = Optioned::from(target_p); Nov 30 15:12:13.702 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:13.702 INFO [stderr] Nov 30 15:12:13.792 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:13.792 INFO [stderr] --> src/interpolation.rs:56:80 Nov 30 15:12:13.796 INFO [stderr] | Nov 30 15:12:13.796 INFO [stderr] 56 | result.temperature = eval_linear_interp(below_idx, above_idx, run, dp, temperature); Nov 30 15:12:13.796 INFO [stderr] | ^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:13.796 INFO [stderr] | Nov 30 15:12:13.796 INFO [stderr] = note: expected type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:13.796 INFO [stderr] found type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:13.796 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:13.796 INFO [stderr] --> src/interpolation.rs:56:80 Nov 30 15:12:13.796 INFO [stderr] | Nov 30 15:12:13.796 INFO [stderr] 56 | result.temperature = eval_linear_interp(below_idx, above_idx, run, dp, temperature); Nov 30 15:12:13.796 INFO [stderr] | ^^^^^^^^^^^ Nov 30 15:12:13.796 INFO [stderr] Nov 30 15:12:13.856 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:13.856 INFO [stderr] --> src/interpolation.rs:56:30 Nov 30 15:12:13.856 INFO [stderr] | Nov 30 15:12:13.856 INFO [stderr] 56 | result.temperature = eval_linear_interp(below_idx, above_idx, run, dp, temperature); Nov 30 15:12:13.856 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:13.856 INFO [stderr] | Nov 30 15:12:13.856 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:13.856 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:13.856 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:13.856 INFO [stderr] --> src/interpolation.rs:56:30 Nov 30 15:12:13.856 INFO [stderr] | Nov 30 15:12:13.856 INFO [stderr] 56 | result.temperature = eval_linear_interp(below_idx, above_idx, run, dp, temperature); Nov 30 15:12:13.856 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:13.856 INFO [stderr] Nov 30 15:12:13.925 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:13.925 INFO [stderr] --> src/interpolation.rs:57:77 Nov 30 15:12:13.925 INFO [stderr] | Nov 30 15:12:13.925 INFO [stderr] 57 | result.wet_bulb = eval_linear_interp(below_idx, above_idx, run, dp, wet_bulb); Nov 30 15:12:13.925 INFO [stderr] | ^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:13.925 INFO [stderr] | Nov 30 15:12:13.925 INFO [stderr] = note: expected type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:13.925 INFO [stderr] found type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:13.925 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:13.925 INFO [stderr] --> src/interpolation.rs:57:77 Nov 30 15:12:13.925 INFO [stderr] | Nov 30 15:12:13.925 INFO [stderr] 57 | result.wet_bulb = eval_linear_interp(below_idx, above_idx, run, dp, wet_bulb); Nov 30 15:12:13.925 INFO [stderr] | ^^^^^^^^ Nov 30 15:12:13.925 INFO [stderr] Nov 30 15:12:14.008 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.008 INFO [stderr] --> src/interpolation.rs:57:27 Nov 30 15:12:14.008 INFO [stderr] | Nov 30 15:12:14.008 INFO [stderr] 57 | result.wet_bulb = eval_linear_interp(below_idx, above_idx, run, dp, wet_bulb); Nov 30 15:12:14.008 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.008 INFO [stderr] | Nov 30 15:12:14.008 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.008 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.008 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.008 INFO [stderr] --> src/interpolation.rs:57:27 Nov 30 15:12:14.008 INFO [stderr] | Nov 30 15:12:14.008 INFO [stderr] 57 | result.wet_bulb = eval_linear_interp(below_idx, above_idx, run, dp, wet_bulb); Nov 30 15:12:14.008 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:14.008 INFO [stderr] Nov 30 15:12:14.080 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.080 INFO [stderr] --> src/interpolation.rs:58:78 Nov 30 15:12:14.080 INFO [stderr] | Nov 30 15:12:14.080 INFO [stderr] 58 | result.dew_point = eval_linear_interp(below_idx, above_idx, run, dp, dew_point); Nov 30 15:12:14.080 INFO [stderr] | ^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.080 INFO [stderr] | Nov 30 15:12:14.080 INFO [stderr] = note: expected type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:14.080 INFO [stderr] found type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:14.080 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.080 INFO [stderr] --> src/interpolation.rs:58:78 Nov 30 15:12:14.080 INFO [stderr] | Nov 30 15:12:14.080 INFO [stderr] 58 | result.dew_point = eval_linear_interp(below_idx, above_idx, run, dp, dew_point); Nov 30 15:12:14.080 INFO [stderr] | ^^^^^^^^^ Nov 30 15:12:14.080 INFO [stderr] Nov 30 15:12:14.144 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.144 INFO [stderr] --> src/interpolation.rs:58:28 Nov 30 15:12:14.144 INFO [stderr] | Nov 30 15:12:14.144 INFO [stderr] 58 | result.dew_point = eval_linear_interp(below_idx, above_idx, run, dp, dew_point); Nov 30 15:12:14.144 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.144 INFO [stderr] | Nov 30 15:12:14.144 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.144 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.144 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.144 INFO [stderr] --> src/interpolation.rs:58:28 Nov 30 15:12:14.144 INFO [stderr] | Nov 30 15:12:14.144 INFO [stderr] 58 | result.dew_point = eval_linear_interp(below_idx, above_idx, run, dp, dew_point); Nov 30 15:12:14.144 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:14.144 INFO [stderr] Nov 30 15:12:14.206 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.206 INFO [stderr] --> src/interpolation.rs:59:76 Nov 30 15:12:14.206 INFO [stderr] | Nov 30 15:12:14.206 INFO [stderr] 59 | result.theta_e = eval_linear_interp(below_idx, above_idx, run, dp, theta_e); Nov 30 15:12:14.206 INFO [stderr] | ^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.206 INFO [stderr] | Nov 30 15:12:14.206 INFO [stderr] = note: expected type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:14.206 INFO [stderr] found type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:14.206 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.206 INFO [stderr] --> src/interpolation.rs:59:76 Nov 30 15:12:14.206 INFO [stderr] | Nov 30 15:12:14.206 INFO [stderr] 59 | result.theta_e = eval_linear_interp(below_idx, above_idx, run, dp, theta_e); Nov 30 15:12:14.206 INFO [stderr] | ^^^^^^^ Nov 30 15:12:14.206 INFO [stderr] Nov 30 15:12:14.280 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.280 INFO [stderr] --> src/interpolation.rs:59:26 Nov 30 15:12:14.280 INFO [stderr] | Nov 30 15:12:14.280 INFO [stderr] 59 | result.theta_e = eval_linear_interp(below_idx, above_idx, run, dp, theta_e); Nov 30 15:12:14.280 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.280 INFO [stderr] | Nov 30 15:12:14.280 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.280 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.280 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.280 INFO [stderr] --> src/interpolation.rs:59:26 Nov 30 15:12:14.280 INFO [stderr] | Nov 30 15:12:14.280 INFO [stderr] 59 | result.theta_e = eval_linear_interp(below_idx, above_idx, run, dp, theta_e); Nov 30 15:12:14.280 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:14.280 INFO [stderr] Nov 30 15:12:14.359 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.359 INFO [stderr] --> src/interpolation.rs:96:74 Nov 30 15:12:14.359 INFO [stderr] | Nov 30 15:12:14.359 INFO [stderr] 96 | result.omega = eval_linear_interp(below_idx, above_idx, run, dp, omega); Nov 30 15:12:14.359 INFO [stderr] | ^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.359 INFO [stderr] | Nov 30 15:12:14.359 INFO [stderr] = note: expected type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:14.359 INFO [stderr] found type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:14.359 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.359 INFO [stderr] --> src/interpolation.rs:96:74 Nov 30 15:12:14.359 INFO [stderr] | Nov 30 15:12:14.359 INFO [stderr] 96 | result.omega = eval_linear_interp(below_idx, above_idx, run, dp, omega); Nov 30 15:12:14.359 INFO [stderr] | ^^^^^ Nov 30 15:12:14.359 INFO [stderr] Nov 30 15:12:14.424 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.424 INFO [stderr] --> src/interpolation.rs:96:24 Nov 30 15:12:14.424 INFO [stderr] | Nov 30 15:12:14.424 INFO [stderr] 96 | result.omega = eval_linear_interp(below_idx, above_idx, run, dp, omega); Nov 30 15:12:14.424 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.424 INFO [stderr] | Nov 30 15:12:14.424 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.424 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.424 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.424 INFO [stderr] --> src/interpolation.rs:96:24 Nov 30 15:12:14.424 INFO [stderr] | Nov 30 15:12:14.424 INFO [stderr] 96 | result.omega = eval_linear_interp(below_idx, above_idx, run, dp, omega); Nov 30 15:12:14.424 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:14.424 INFO [stderr] Nov 30 15:12:14.508 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.508 INFO [stderr] --> src/interpolation.rs:97:75 Nov 30 15:12:14.508 INFO [stderr] | Nov 30 15:12:14.508 INFO [stderr] 97 | result.height = eval_linear_interp(below_idx, above_idx, run, dp, height); Nov 30 15:12:14.508 INFO [stderr] | ^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.508 INFO [stderr] | Nov 30 15:12:14.508 INFO [stderr] = note: expected type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:14.508 INFO [stderr] found type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:14.508 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.508 INFO [stderr] --> src/interpolation.rs:97:75 Nov 30 15:12:14.508 INFO [stderr] | Nov 30 15:12:14.508 INFO [stderr] 97 | result.height = eval_linear_interp(below_idx, above_idx, run, dp, height); Nov 30 15:12:14.508 INFO [stderr] | ^^^^^^ Nov 30 15:12:14.508 INFO [stderr] Nov 30 15:12:14.581 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.581 INFO [stderr] --> src/interpolation.rs:97:25 Nov 30 15:12:14.581 INFO [stderr] | Nov 30 15:12:14.581 INFO [stderr] 97 | result.height = eval_linear_interp(below_idx, above_idx, run, dp, height); Nov 30 15:12:14.581 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.581 INFO [stderr] | Nov 30 15:12:14.581 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.581 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.581 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.581 INFO [stderr] --> src/interpolation.rs:97:25 Nov 30 15:12:14.582 INFO [stderr] | Nov 30 15:12:14.582 INFO [stderr] 97 | result.height = eval_linear_interp(below_idx, above_idx, run, dp, height); Nov 30 15:12:14.582 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:14.582 INFO [stderr] Nov 30 15:12:14.649 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.649 INFO [stderr] --> src/interpolation.rs:28:23 Nov 30 15:12:14.649 INFO [stderr] | Nov 30 15:12:14.649 INFO [stderr] 28 | result.pressure = Optioned::from(target_p); Nov 30 15:12:14.649 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.649 INFO [stderr] | Nov 30 15:12:14.651 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.651 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.651 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.651 INFO [stderr] --> src/interpolation.rs:28:23 Nov 30 15:12:14.651 INFO [stderr] | Nov 30 15:12:14.651 INFO [stderr] 28 | result.pressure = Optioned::from(target_p); Nov 30 15:12:14.651 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:14.651 INFO [stderr] Nov 30 15:12:14.651 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.651 INFO [stderr] --> src/interpolation.rs:98:83 Nov 30 15:12:14.651 INFO [stderr] | Nov 30 15:12:14.651 INFO [stderr] 98 | result.cloud_fraction = eval_linear_interp(below_idx, above_idx, run, dp, cloud_fraction); Nov 30 15:12:14.651 INFO [stderr] | ^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.651 INFO [stderr] | Nov 30 15:12:14.651 INFO [stderr] = note: expected type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:14.651 INFO [stderr] found type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:14.651 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.651 INFO [stderr] --> src/interpolation.rs:98:83 Nov 30 15:12:14.651 INFO [stderr] | Nov 30 15:12:14.651 INFO [stderr] 98 | result.cloud_fraction = eval_linear_interp(below_idx, above_idx, run, dp, cloud_fraction); Nov 30 15:12:14.651 INFO [stderr] | ^^^^^^^^^^^^^^ Nov 30 15:12:14.651 INFO [stderr] Nov 30 15:12:14.715 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.715 INFO [stderr] --> src/interpolation.rs:98:33 Nov 30 15:12:14.715 INFO [stderr] | Nov 30 15:12:14.715 INFO [stderr] 98 | result.cloud_fraction = eval_linear_interp(below_idx, above_idx, run, dp, cloud_fraction); Nov 30 15:12:14.715 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.715 INFO [stderr] | Nov 30 15:12:14.715 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.715 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.715 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.715 INFO [stderr] --> src/interpolation.rs:98:33 Nov 30 15:12:14.715 INFO [stderr] | Nov 30 15:12:14.715 INFO [stderr] 98 | result.cloud_fraction = eval_linear_interp(below_idx, above_idx, run, dp, cloud_fraction); Nov 30 15:12:14.715 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:14.715 INFO [stderr] Nov 30 15:12:14.726 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.726 INFO [stderr] --> src/interpolation.rs:56:80 Nov 30 15:12:14.726 INFO [stderr] | Nov 30 15:12:14.726 INFO [stderr] 56 | result.temperature = eval_linear_interp(below_idx, above_idx, run, dp, temperature); Nov 30 15:12:14.726 INFO [stderr] | ^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.726 INFO [stderr] | Nov 30 15:12:14.726 INFO [stderr] = note: expected type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:14.726 INFO [stderr] found type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:14.726 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.726 INFO [stderr] --> src/interpolation.rs:56:80 Nov 30 15:12:14.726 INFO [stderr] | Nov 30 15:12:14.726 INFO [stderr] 56 | result.temperature = eval_linear_interp(below_idx, above_idx, run, dp, temperature); Nov 30 15:12:14.726 INFO [stderr] | ^^^^^^^^^^^ Nov 30 15:12:14.726 INFO [stderr] Nov 30 15:12:14.805 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.805 INFO [stderr] --> src/interpolation.rs:56:30 Nov 30 15:12:14.805 INFO [stderr] | Nov 30 15:12:14.805 INFO [stderr] 56 | result.temperature = eval_linear_interp(below_idx, above_idx, run, dp, temperature); Nov 30 15:12:14.805 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.805 INFO [stderr] | Nov 30 15:12:14.805 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.805 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.805 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.805 INFO [stderr] --> src/interpolation.rs:56:30 Nov 30 15:12:14.805 INFO [stderr] | Nov 30 15:12:14.805 INFO [stderr] 56 | result.temperature = eval_linear_interp(below_idx, above_idx, run, dp, temperature); Nov 30 15:12:14.805 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:14.805 INFO [stderr] Nov 30 15:12:14.827 INFO [stderr] error[E0308]: if and else have incompatible types Nov 30 15:12:14.827 INFO [stderr] --> src/parcel.rs:179:19 Nov 30 15:12:14.827 INFO [stderr] | Nov 30 15:12:14.827 INFO [stderr] 179 | let theta_e = if !snd.get_profile(ThetaE).is_empty() { Nov 30 15:12:14.827 INFO [stderr] | ___________________^ Nov 30 15:12:14.827 INFO [stderr] 180 | | snd.get_profile(ThetaE) Nov 30 15:12:14.827 INFO [stderr] 181 | | } else { Nov 30 15:12:14.827 INFO [stderr] 182 | | temp_vec = equivalent_potential_temperature(snd); Nov 30 15:12:14.827 INFO [stderr] 183 | | &temp_vec Nov 30 15:12:14.827 INFO [stderr] 184 | | }; Nov 30 15:12:14.827 INFO [stderr] | |_____^ expected slice, found struct `std::vec::Vec` Nov 30 15:12:14.827 INFO [stderr] | Nov 30 15:12:14.827 INFO [stderr] = note: expected type `&[optional::Optioned]` Nov 30 15:12:14.827 INFO [stderr] found type `&std::vec::Vec>` Nov 30 15:12:14.827 INFO [stderr] Nov 30 15:12:14.880 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.880 INFO [stderr] --> src/interpolation.rs:57:77 Nov 30 15:12:14.880 INFO [stderr] | Nov 30 15:12:14.880 INFO [stderr] 57 | result.wet_bulb = eval_linear_interp(below_idx, above_idx, run, dp, wet_bulb); Nov 30 15:12:14.880 INFO [stderr] | ^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.880 INFO [stderr] | Nov 30 15:12:14.880 INFO [stderr] = note: expected type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:14.880 INFO [stderr] found type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:14.880 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.880 INFO [stderr] --> src/interpolation.rs:57:77 Nov 30 15:12:14.880 INFO [stderr] | Nov 30 15:12:14.880 INFO [stderr] 57 | result.wet_bulb = eval_linear_interp(below_idx, above_idx, run, dp, wet_bulb); Nov 30 15:12:14.880 INFO [stderr] | ^^^^^^^^ Nov 30 15:12:14.880 INFO [stderr] Nov 30 15:12:14.952 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:14.952 INFO [stderr] --> src/interpolation.rs:57:27 Nov 30 15:12:14.952 INFO [stderr] | Nov 30 15:12:14.952 INFO [stderr] 57 | result.wet_bulb = eval_linear_interp(below_idx, above_idx, run, dp, wet_bulb); Nov 30 15:12:14.952 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:14.952 INFO [stderr] | Nov 30 15:12:14.952 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.952 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:14.952 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:14.952 INFO [stderr] --> src/interpolation.rs:57:27 Nov 30 15:12:14.952 INFO [stderr] | Nov 30 15:12:14.952 INFO [stderr] 57 | result.wet_bulb = eval_linear_interp(below_idx, above_idx, run, dp, wet_bulb); Nov 30 15:12:14.952 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:14.952 INFO [stderr] Nov 30 15:12:15.012 INFO [stderr] error[E0277]: a collection of type `std::vec::Vec>` cannot be built from an iterator over elements of type `optional::Optioned` Nov 30 15:12:15.012 INFO [stderr] --> src/profile.rs:37:12 Nov 30 15:12:15.012 INFO [stderr] | Nov 30 15:12:15.012 INFO [stderr] 37 | }).collect() Nov 30 15:12:15.012 INFO [stderr] | ^^^^^^^ a collection of type `std::vec::Vec>` cannot be built from `std::iter::Iterator>` Nov 30 15:12:15.012 INFO [stderr] | Nov 30 15:12:15.012 INFO [stderr] = help: the trait `std::iter::FromIterator>` is not implemented for `std::vec::Vec>` Nov 30 15:12:15.012 INFO [stderr] Nov 30 15:12:15.013 INFO [stderr] error[E0277]: a collection of type `std::vec::Vec>` cannot be built from an iterator over elements of type `optional::Optioned` Nov 30 15:12:15.013 INFO [stderr] --> src/profile.rs:59:12 Nov 30 15:12:15.013 INFO [stderr] | Nov 30 15:12:15.013 INFO [stderr] 59 | }).collect() Nov 30 15:12:15.013 INFO [stderr] | ^^^^^^^ a collection of type `std::vec::Vec>` cannot be built from `std::iter::Iterator>` Nov 30 15:12:15.013 INFO [stderr] | Nov 30 15:12:15.013 INFO [stderr] = help: the trait `std::iter::FromIterator>` is not implemented for `std::vec::Vec>` Nov 30 15:12:15.013 INFO [stderr] Nov 30 15:12:15.017 INFO [stderr] error[E0277]: a collection of type `std::vec::Vec>` cannot be built from an iterator over elements of type `optional::Optioned` Nov 30 15:12:15.017 INFO [stderr] --> src/profile.rs:81:12 Nov 30 15:12:15.017 INFO [stderr] | Nov 30 15:12:15.017 INFO [stderr] 81 | }).collect() Nov 30 15:12:15.017 INFO [stderr] | ^^^^^^^ a collection of type `std::vec::Vec>` cannot be built from `std::iter::Iterator>` Nov 30 15:12:15.017 INFO [stderr] | Nov 30 15:12:15.017 INFO [stderr] = help: the trait `std::iter::FromIterator>` is not implemented for `std::vec::Vec>` Nov 30 15:12:15.017 INFO [stderr] Nov 30 15:12:15.021 INFO [stderr] error[E0277]: a collection of type `std::vec::Vec>` cannot be built from an iterator over elements of type `optional::Optioned` Nov 30 15:12:15.021 INFO [stderr] --> src/profile.rs:106:12 Nov 30 15:12:15.021 INFO [stderr] | Nov 30 15:12:15.021 INFO [stderr] 106 | }).collect() Nov 30 15:12:15.021 INFO [stderr] | ^^^^^^^ a collection of type `std::vec::Vec>` cannot be built from `std::iter::Iterator>` Nov 30 15:12:15.021 INFO [stderr] | Nov 30 15:12:15.021 INFO [stderr] = help: the trait `std::iter::FromIterator>` is not implemented for `std::vec::Vec>` Nov 30 15:12:15.021 INFO [stderr] Nov 30 15:12:15.022 INFO [stderr] error[E0271]: type mismatch resolving `> as std::iter::Iterator>::Item == &optional::Optioned` Nov 30 15:12:15.022 INFO [stderr] --> src/profile.rs:112:5 Nov 30 15:12:15.022 INFO [stderr] | Nov 30 15:12:15.022 INFO [stderr] 112 | lapse_rate(snd, t_profile) Nov 30 15:12:15.022 INFO [stderr] | ^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:15.022 INFO [stderr] | Nov 30 15:12:15.022 INFO [stderr] = note: expected type `&optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:15.022 INFO [stderr] found type `&optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:15.022 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:15.022 INFO [stderr] --> src/profile.rs:112:5 Nov 30 15:12:15.022 INFO [stderr] | Nov 30 15:12:15.022 INFO [stderr] 112 | lapse_rate(snd, t_profile) Nov 30 15:12:15.022 INFO [stderr] | ^^^^^^^^^^ Nov 30 15:12:15.022 INFO [stderr] = note: required because of the requirements on the impl of `std::iter::Iterator` for `std::iter::Cloned>>` Nov 30 15:12:15.022 INFO [stderr] note: required by `profile::lapse_rate` Nov 30 15:12:15.022 INFO [stderr] --> src/profile.rs:151:1 Nov 30 15:12:15.022 INFO [stderr] | Nov 30 15:12:15.022 INFO [stderr] 151 | / fn lapse_rate>>( Nov 30 15:12:15.022 INFO [stderr] 152 | | snd: &Sounding, Nov 30 15:12:15.023 INFO [stderr] 153 | | v_profile: I, Nov 30 15:12:15.023 INFO [stderr] 154 | | ) -> Vec> { Nov 30 15:12:15.023 INFO [stderr] ... | Nov 30 15:12:15.023 INFO [stderr] 176 | | }).collect() Nov 30 15:12:15.023 INFO [stderr] 177 | | } Nov 30 15:12:15.023 INFO [stderr] | |_^ Nov 30 15:12:15.023 INFO [stderr] Nov 30 15:12:15.023 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:15.023 INFO [stderr] --> src/interpolation.rs:58:78 Nov 30 15:12:15.023 INFO [stderr] | Nov 30 15:12:15.023 INFO [stderr] 58 | result.dew_point = eval_linear_interp(below_idx, above_idx, run, dp, dew_point); Nov 30 15:12:15.023 INFO [stderr] | ^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:15.023 INFO [stderr] | Nov 30 15:12:15.023 INFO [stderr] = note: expected type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:15.023 INFO [stderr] found type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:15.023 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:15.023 INFO [stderr] --> src/interpolation.rs:58:78 Nov 30 15:12:15.023 INFO [stderr] | Nov 30 15:12:15.023 INFO [stderr] 58 | result.dew_point = eval_linear_interp(below_idx, above_idx, run, dp, dew_point); Nov 30 15:12:15.023 INFO [stderr] | ^^^^^^^^^ Nov 30 15:12:15.023 INFO [stderr] Nov 30 15:12:15.036 INFO [stderr] error[E0271]: type mismatch resolving `> as std::iter::Iterator>::Item == &optional::Optioned` Nov 30 15:12:15.036 INFO [stderr] --> src/profile.rs:148:5 Nov 30 15:12:15.036 INFO [stderr] | Nov 30 15:12:15.036 INFO [stderr] 148 | lapse_rate(snd, theta_e) Nov 30 15:12:15.036 INFO [stderr] | ^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:15.036 INFO [stderr] | Nov 30 15:12:15.040 INFO [stderr] = note: expected type `&optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:15.041 INFO [stderr] found type `&optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:15.041 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:15.041 INFO [stderr] --> src/profile.rs:148:5 Nov 30 15:12:15.041 INFO [stderr] | Nov 30 15:12:15.041 INFO [stderr] 148 | lapse_rate(snd, theta_e) Nov 30 15:12:15.041 INFO [stderr] | ^^^^^^^^^^ Nov 30 15:12:15.041 INFO [stderr] = note: required because of the requirements on the impl of `std::iter::Iterator` for `std::iter::Cloned>>` Nov 30 15:12:15.041 INFO [stderr] note: required by `profile::lapse_rate` Nov 30 15:12:15.041 INFO [stderr] --> src/profile.rs:151:1 Nov 30 15:12:15.041 INFO [stderr] | Nov 30 15:12:15.041 INFO [stderr] 151 | / fn lapse_rate>>( Nov 30 15:12:15.041 INFO [stderr] 152 | | snd: &Sounding, Nov 30 15:12:15.041 INFO [stderr] 153 | | v_profile: I, Nov 30 15:12:15.041 INFO [stderr] 154 | | ) -> Vec> { Nov 30 15:12:15.041 INFO [stderr] ... | Nov 30 15:12:15.041 INFO [stderr] 176 | | }).collect() Nov 30 15:12:15.041 INFO [stderr] 177 | | } Nov 30 15:12:15.041 INFO [stderr] | |_^ Nov 30 15:12:15.041 INFO [stderr] Nov 30 15:12:15.067 INFO [stderr] error: aborting due to 22 previous errors Nov 30 15:12:15.067 INFO [stderr] Nov 30 15:12:15.067 INFO [stderr] Some errors occurred: E0271, E0277, E0308. Nov 30 15:12:15.067 INFO [stderr] For more information about an error, try `rustc --explain E0271`. Nov 30 15:12:15.096 INFO [stderr] error: Could not compile `sounding-analysis`. Nov 30 15:12:15.096 INFO [stderr] warning: build failed, waiting for other jobs to finish... Nov 30 15:12:15.106 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:15.106 INFO [stderr] --> src/interpolation.rs:58:28 Nov 30 15:12:15.106 INFO [stderr] | Nov 30 15:12:15.106 INFO [stderr] 58 | result.dew_point = eval_linear_interp(below_idx, above_idx, run, dp, dew_point); Nov 30 15:12:15.106 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:15.106 INFO [stderr] | Nov 30 15:12:15.106 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:15.106 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:15.106 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:15.106 INFO [stderr] --> src/interpolation.rs:58:28 Nov 30 15:12:15.106 INFO [stderr] | Nov 30 15:12:15.106 INFO [stderr] 58 | result.dew_point = eval_linear_interp(below_idx, above_idx, run, dp, dew_point); Nov 30 15:12:15.106 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:15.106 INFO [stderr] Nov 30 15:12:15.187 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:15.187 INFO [stderr] --> src/interpolation.rs:59:76 Nov 30 15:12:15.187 INFO [stderr] | Nov 30 15:12:15.187 INFO [stderr] 59 | result.theta_e = eval_linear_interp(below_idx, above_idx, run, dp, theta_e); Nov 30 15:12:15.187 INFO [stderr] | ^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:15.187 INFO [stderr] | Nov 30 15:12:15.187 INFO [stderr] = note: expected type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:15.187 INFO [stderr] found type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:15.187 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:15.187 INFO [stderr] --> src/interpolation.rs:59:76 Nov 30 15:12:15.187 INFO [stderr] | Nov 30 15:12:15.187 INFO [stderr] 59 | result.theta_e = eval_linear_interp(below_idx, above_idx, run, dp, theta_e); Nov 30 15:12:15.187 INFO [stderr] | ^^^^^^^ Nov 30 15:12:15.187 INFO [stderr] Nov 30 15:12:15.256 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:15.256 INFO [stderr] --> src/interpolation.rs:59:26 Nov 30 15:12:15.256 INFO [stderr] | Nov 30 15:12:15.256 INFO [stderr] 59 | result.theta_e = eval_linear_interp(below_idx, above_idx, run, dp, theta_e); Nov 30 15:12:15.256 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:15.256 INFO [stderr] | Nov 30 15:12:15.256 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:15.256 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:15.256 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:15.256 INFO [stderr] --> src/interpolation.rs:59:26 Nov 30 15:12:15.256 INFO [stderr] | Nov 30 15:12:15.256 INFO [stderr] 59 | result.theta_e = eval_linear_interp(below_idx, above_idx, run, dp, theta_e); Nov 30 15:12:15.256 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:15.256 INFO [stderr] Nov 30 15:12:15.335 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:15.335 INFO [stderr] --> src/interpolation.rs:96:74 Nov 30 15:12:15.335 INFO [stderr] | Nov 30 15:12:15.335 INFO [stderr] 96 | result.omega = eval_linear_interp(below_idx, above_idx, run, dp, omega); Nov 30 15:12:15.335 INFO [stderr] | ^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:15.335 INFO [stderr] | Nov 30 15:12:15.335 INFO [stderr] = note: expected type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:15.335 INFO [stderr] found type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:15.335 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:15.335 INFO [stderr] --> src/interpolation.rs:96:74 Nov 30 15:12:15.335 INFO [stderr] | Nov 30 15:12:15.335 INFO [stderr] 96 | result.omega = eval_linear_interp(below_idx, above_idx, run, dp, omega); Nov 30 15:12:15.335 INFO [stderr] | ^^^^^ Nov 30 15:12:15.335 INFO [stderr] Nov 30 15:12:15.407 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:15.407 INFO [stderr] --> src/interpolation.rs:96:24 Nov 30 15:12:15.407 INFO [stderr] | Nov 30 15:12:15.407 INFO [stderr] 96 | result.omega = eval_linear_interp(below_idx, above_idx, run, dp, omega); Nov 30 15:12:15.407 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:15.407 INFO [stderr] | Nov 30 15:12:15.407 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:15.407 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:15.407 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:15.407 INFO [stderr] --> src/interpolation.rs:96:24 Nov 30 15:12:15.407 INFO [stderr] | Nov 30 15:12:15.407 INFO [stderr] 96 | result.omega = eval_linear_interp(below_idx, above_idx, run, dp, omega); Nov 30 15:12:15.407 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:15.407 INFO [stderr] Nov 30 15:12:15.488 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:15.488 INFO [stderr] --> src/interpolation.rs:97:75 Nov 30 15:12:15.488 INFO [stderr] | Nov 30 15:12:15.488 INFO [stderr] 97 | result.height = eval_linear_interp(below_idx, above_idx, run, dp, height); Nov 30 15:12:15.488 INFO [stderr] | ^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:15.488 INFO [stderr] | Nov 30 15:12:15.488 INFO [stderr] = note: expected type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:15.488 INFO [stderr] found type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:15.488 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:15.488 INFO [stderr] --> src/interpolation.rs:97:75 Nov 30 15:12:15.488 INFO [stderr] | Nov 30 15:12:15.488 INFO [stderr] 97 | result.height = eval_linear_interp(below_idx, above_idx, run, dp, height); Nov 30 15:12:15.488 INFO [stderr] | ^^^^^^ Nov 30 15:12:15.488 INFO [stderr] Nov 30 15:12:15.554 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:15.554 INFO [stderr] --> src/interpolation.rs:97:25 Nov 30 15:12:15.554 INFO [stderr] | Nov 30 15:12:15.554 INFO [stderr] 97 | result.height = eval_linear_interp(below_idx, above_idx, run, dp, height); Nov 30 15:12:15.555 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:15.555 INFO [stderr] | Nov 30 15:12:15.555 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:15.555 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:15.555 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:15.555 INFO [stderr] --> src/interpolation.rs:97:25 Nov 30 15:12:15.555 INFO [stderr] | Nov 30 15:12:15.555 INFO [stderr] 97 | result.height = eval_linear_interp(below_idx, above_idx, run, dp, height); Nov 30 15:12:15.555 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:15.555 INFO [stderr] Nov 30 15:12:15.625 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:15.625 INFO [stderr] --> src/interpolation.rs:98:83 Nov 30 15:12:15.625 INFO [stderr] | Nov 30 15:12:15.625 INFO [stderr] 98 | result.cloud_fraction = eval_linear_interp(below_idx, above_idx, run, dp, cloud_fraction); Nov 30 15:12:15.625 INFO [stderr] | ^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:15.625 INFO [stderr] | Nov 30 15:12:15.625 INFO [stderr] = note: expected type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:15.625 INFO [stderr] found type `&[optional::Optioned]` (struct `optional::Optioned`) Nov 30 15:12:15.625 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:15.625 INFO [stderr] --> src/interpolation.rs:98:83 Nov 30 15:12:15.625 INFO [stderr] | Nov 30 15:12:15.625 INFO [stderr] 98 | result.cloud_fraction = eval_linear_interp(below_idx, above_idx, run, dp, cloud_fraction); Nov 30 15:12:15.625 INFO [stderr] | ^^^^^^^^^^^^^^ Nov 30 15:12:15.625 INFO [stderr] Nov 30 15:12:15.690 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:15.690 INFO [stderr] --> src/interpolation.rs:98:33 Nov 30 15:12:15.690 INFO [stderr] | Nov 30 15:12:15.690 INFO [stderr] 98 | result.cloud_fraction = eval_linear_interp(below_idx, above_idx, run, dp, cloud_fraction); Nov 30 15:12:15.690 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:15.690 INFO [stderr] | Nov 30 15:12:15.690 INFO [stderr] = note: expected type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:15.690 INFO [stderr] found type `optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:15.690 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:15.690 INFO [stderr] --> src/interpolation.rs:98:33 Nov 30 15:12:15.690 INFO [stderr] | Nov 30 15:12:15.690 INFO [stderr] 98 | result.cloud_fraction = eval_linear_interp(below_idx, above_idx, run, dp, cloud_fraction); Nov 30 15:12:15.690 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Nov 30 15:12:15.690 INFO [stderr] Nov 30 15:12:15.788 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:15.788 INFO [stderr] --> src/layers.rs:98:27 Nov 30 15:12:15.788 INFO [stderr] | Nov 30 15:12:15.788 INFO [stderr] 98 | bottom.pressure = some(1000.0); Nov 30 15:12:15.788 INFO [stderr] | ^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:15.788 INFO [stderr] | Nov 30 15:12:15.788 INFO [stderr] = note: expected type `optional::Optioned` Nov 30 15:12:15.788 INFO [stderr] found type `optional::Optioned<{float}>` Nov 30 15:12:15.788 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:15.788 INFO [stderr] --> src/layers.rs:98:27 Nov 30 15:12:15.788 INFO [stderr] | Nov 30 15:12:15.788 INFO [stderr] 98 | bottom.pressure = some(1000.0); Nov 30 15:12:15.788 INFO [stderr] | ^^^^^^^^^^^^ Nov 30 15:12:15.788 INFO [stderr] Nov 30 15:12:15.857 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:15.857 INFO [stderr] --> src/layers.rs:99:30 Nov 30 15:12:15.857 INFO [stderr] | Nov 30 15:12:15.857 INFO [stderr] 99 | bottom.temperature = some(20.0); Nov 30 15:12:15.857 INFO [stderr] | ^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:15.857 INFO [stderr] | Nov 30 15:12:15.857 INFO [stderr] = note: expected type `optional::Optioned` Nov 30 15:12:15.857 INFO [stderr] found type `optional::Optioned<{float}>` Nov 30 15:12:15.857 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:15.857 INFO [stderr] --> src/layers.rs:99:30 Nov 30 15:12:15.857 INFO [stderr] | Nov 30 15:12:15.857 INFO [stderr] 99 | bottom.temperature = some(20.0); Nov 30 15:12:15.857 INFO [stderr] | ^^^^^^^^^^ Nov 30 15:12:15.857 INFO [stderr] Nov 30 15:12:15.939 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:15.939 INFO [stderr] --> src/layers.rs:100:25 Nov 30 15:12:15.939 INFO [stderr] | Nov 30 15:12:15.939 INFO [stderr] 100 | bottom.height = some(5.0); Nov 30 15:12:15.939 INFO [stderr] | ^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:15.939 INFO [stderr] | Nov 30 15:12:15.939 INFO [stderr] = note: expected type `optional::Optioned` Nov 30 15:12:15.939 INFO [stderr] found type `optional::Optioned<{float}>` Nov 30 15:12:15.939 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:15.939 INFO [stderr] --> src/layers.rs:100:25 Nov 30 15:12:15.939 INFO [stderr] | Nov 30 15:12:15.939 INFO [stderr] 100 | bottom.height = some(5.0); Nov 30 15:12:15.939 INFO [stderr] | ^^^^^^^^^ Nov 30 15:12:15.939 INFO [stderr] Nov 30 15:12:16.004 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:16.004 INFO [stderr] --> src/layers.rs:101:24 Nov 30 15:12:16.004 INFO [stderr] | Nov 30 15:12:16.004 INFO [stderr] 101 | bottom.speed = some(1.0); Nov 30 15:12:16.004 INFO [stderr] | ^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:16.004 INFO [stderr] | Nov 30 15:12:16.004 INFO [stderr] = note: expected type `optional::Optioned` Nov 30 15:12:16.004 INFO [stderr] found type `optional::Optioned<{float}>` Nov 30 15:12:16.004 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:16.004 INFO [stderr] --> src/layers.rs:101:24 Nov 30 15:12:16.004 INFO [stderr] | Nov 30 15:12:16.004 INFO [stderr] 101 | bottom.speed = some(1.0); Nov 30 15:12:16.004 INFO [stderr] | ^^^^^^^^^ Nov 30 15:12:16.004 INFO [stderr] Nov 30 15:12:16.059 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:16.060 INFO [stderr] --> src/layers.rs:102:28 Nov 30 15:12:16.060 INFO [stderr] | Nov 30 15:12:16.060 INFO [stderr] 102 | bottom.direction = some(180.0); Nov 30 15:12:16.060 INFO [stderr] | ^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:16.060 INFO [stderr] | Nov 30 15:12:16.060 INFO [stderr] = note: expected type `optional::Optioned` Nov 30 15:12:16.060 INFO [stderr] found type `optional::Optioned<{float}>` Nov 30 15:12:16.060 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:16.060 INFO [stderr] --> src/layers.rs:102:28 Nov 30 15:12:16.060 INFO [stderr] | Nov 30 15:12:16.060 INFO [stderr] 102 | bottom.direction = some(180.0); Nov 30 15:12:16.060 INFO [stderr] | ^^^^^^^^^^^ Nov 30 15:12:16.064 INFO [stderr] Nov 30 15:12:16.128 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:16.128 INFO [stderr] --> src/layers.rs:105:24 Nov 30 15:12:16.128 INFO [stderr] | Nov 30 15:12:16.128 INFO [stderr] 105 | top.pressure = some(700.0); Nov 30 15:12:16.128 INFO [stderr] | ^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:16.128 INFO [stderr] | Nov 30 15:12:16.128 INFO [stderr] = note: expected type `optional::Optioned` Nov 30 15:12:16.128 INFO [stderr] found type `optional::Optioned<{float}>` Nov 30 15:12:16.128 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:16.128 INFO [stderr] --> src/layers.rs:105:24 Nov 30 15:12:16.128 INFO [stderr] | Nov 30 15:12:16.128 INFO [stderr] 105 | top.pressure = some(700.0); Nov 30 15:12:16.128 INFO [stderr] | ^^^^^^^^^^^ Nov 30 15:12:16.132 INFO [stderr] Nov 30 15:12:16.188 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:16.188 INFO [stderr] --> src/layers.rs:106:27 Nov 30 15:12:16.188 INFO [stderr] | Nov 30 15:12:16.188 INFO [stderr] 106 | top.temperature = some(-2.0); Nov 30 15:12:16.188 INFO [stderr] | ^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:16.188 INFO [stderr] | Nov 30 15:12:16.188 INFO [stderr] = note: expected type `optional::Optioned` Nov 30 15:12:16.188 INFO [stderr] found type `optional::Optioned<{float}>` Nov 30 15:12:16.188 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:16.188 INFO [stderr] --> src/layers.rs:106:27 Nov 30 15:12:16.188 INFO [stderr] | Nov 30 15:12:16.188 INFO [stderr] 106 | top.temperature = some(-2.0); Nov 30 15:12:16.188 INFO [stderr] | ^^^^^^^^^^ Nov 30 15:12:16.188 INFO [stderr] Nov 30 15:12:16.264 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:16.264 INFO [stderr] --> src/layers.rs:107:22 Nov 30 15:12:16.264 INFO [stderr] | Nov 30 15:12:16.264 INFO [stderr] 107 | top.height = some(3012.0); Nov 30 15:12:16.264 INFO [stderr] | ^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:16.264 INFO [stderr] | Nov 30 15:12:16.264 INFO [stderr] = note: expected type `optional::Optioned` Nov 30 15:12:16.264 INFO [stderr] found type `optional::Optioned<{float}>` Nov 30 15:12:16.264 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:16.264 INFO [stderr] --> src/layers.rs:107:22 Nov 30 15:12:16.264 INFO [stderr] | Nov 30 15:12:16.264 INFO [stderr] 107 | top.height = some(3012.0); Nov 30 15:12:16.264 INFO [stderr] | ^^^^^^^^^^^^ Nov 30 15:12:16.264 INFO [stderr] Nov 30 15:12:16.325 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:16.325 INFO [stderr] --> src/layers.rs:108:21 Nov 30 15:12:16.325 INFO [stderr] | Nov 30 15:12:16.325 INFO [stderr] 108 | top.speed = some(1.0); Nov 30 15:12:16.325 INFO [stderr] | ^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:16.325 INFO [stderr] | Nov 30 15:12:16.325 INFO [stderr] = note: expected type `optional::Optioned` Nov 30 15:12:16.325 INFO [stderr] found type `optional::Optioned<{float}>` Nov 30 15:12:16.325 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:16.325 INFO [stderr] --> src/layers.rs:108:21 Nov 30 15:12:16.325 INFO [stderr] | Nov 30 15:12:16.325 INFO [stderr] 108 | top.speed = some(1.0); Nov 30 15:12:16.325 INFO [stderr] | ^^^^^^^^^ Nov 30 15:12:16.325 INFO [stderr] Nov 30 15:12:16.396 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:16.396 INFO [stderr] --> src/layers.rs:109:25 Nov 30 15:12:16.396 INFO [stderr] | Nov 30 15:12:16.396 INFO [stderr] 109 | top.direction = some(90.0); Nov 30 15:12:16.396 INFO [stderr] | ^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:16.396 INFO [stderr] | Nov 30 15:12:16.396 INFO [stderr] = note: expected type `optional::Optioned` Nov 30 15:12:16.396 INFO [stderr] found type `optional::Optioned<{float}>` Nov 30 15:12:16.396 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:16.396 INFO [stderr] --> src/layers.rs:109:25 Nov 30 15:12:16.396 INFO [stderr] | Nov 30 15:12:16.396 INFO [stderr] 109 | top.direction = some(90.0); Nov 30 15:12:16.396 INFO [stderr] | ^^^^^^^^^^ Nov 30 15:12:16.396 INFO [stderr] Nov 30 15:12:16.500 INFO [stderr] error[E0308]: if and else have incompatible types Nov 30 15:12:16.500 INFO [stderr] --> src/parcel.rs:179:19 Nov 30 15:12:16.500 INFO [stderr] | Nov 30 15:12:16.500 INFO [stderr] 179 | let theta_e = if !snd.get_profile(ThetaE).is_empty() { Nov 30 15:12:16.500 INFO [stderr] | ___________________^ Nov 30 15:12:16.500 INFO [stderr] 180 | | snd.get_profile(ThetaE) Nov 30 15:12:16.500 INFO [stderr] 181 | | } else { Nov 30 15:12:16.500 INFO [stderr] 182 | | temp_vec = equivalent_potential_temperature(snd); Nov 30 15:12:16.500 INFO [stderr] 183 | | &temp_vec Nov 30 15:12:16.500 INFO [stderr] 184 | | }; Nov 30 15:12:16.500 INFO [stderr] | |_____^ expected slice, found struct `std::vec::Vec` Nov 30 15:12:16.500 INFO [stderr] | Nov 30 15:12:16.500 INFO [stderr] = note: expected type `&[optional::Optioned]` Nov 30 15:12:16.500 INFO [stderr] found type `&std::vec::Vec>` Nov 30 15:12:16.500 INFO [stderr] Nov 30 15:12:16.653 INFO [stderr] error[E0277]: a collection of type `std::vec::Vec>` cannot be built from an iterator over elements of type `optional::Optioned` Nov 30 15:12:16.653 INFO [stderr] --> src/profile.rs:37:12 Nov 30 15:12:16.653 INFO [stderr] | Nov 30 15:12:16.653 INFO [stderr] 37 | }).collect() Nov 30 15:12:16.653 INFO [stderr] | ^^^^^^^ a collection of type `std::vec::Vec>` cannot be built from `std::iter::Iterator>` Nov 30 15:12:16.653 INFO [stderr] | Nov 30 15:12:16.653 INFO [stderr] = help: the trait `std::iter::FromIterator>` is not implemented for `std::vec::Vec>` Nov 30 15:12:16.653 INFO [stderr] Nov 30 15:12:16.657 INFO [stderr] error[E0277]: a collection of type `std::vec::Vec>` cannot be built from an iterator over elements of type `optional::Optioned` Nov 30 15:12:16.657 INFO [stderr] --> src/profile.rs:59:12 Nov 30 15:12:16.657 INFO [stderr] | Nov 30 15:12:16.657 INFO [stderr] 59 | }).collect() Nov 30 15:12:16.657 INFO [stderr] | ^^^^^^^ a collection of type `std::vec::Vec>` cannot be built from `std::iter::Iterator>` Nov 30 15:12:16.657 INFO [stderr] | Nov 30 15:12:16.657 INFO [stderr] = help: the trait `std::iter::FromIterator>` is not implemented for `std::vec::Vec>` Nov 30 15:12:16.657 INFO [stderr] Nov 30 15:12:16.663 INFO [stderr] error[E0277]: a collection of type `std::vec::Vec>` cannot be built from an iterator over elements of type `optional::Optioned` Nov 30 15:12:16.663 INFO [stderr] --> src/profile.rs:81:12 Nov 30 15:12:16.663 INFO [stderr] | Nov 30 15:12:16.663 INFO [stderr] 81 | }).collect() Nov 30 15:12:16.663 INFO [stderr] | ^^^^^^^ a collection of type `std::vec::Vec>` cannot be built from `std::iter::Iterator>` Nov 30 15:12:16.663 INFO [stderr] | Nov 30 15:12:16.663 INFO [stderr] = help: the trait `std::iter::FromIterator>` is not implemented for `std::vec::Vec>` Nov 30 15:12:16.663 INFO [stderr] Nov 30 15:12:16.668 INFO [stderr] error[E0277]: a collection of type `std::vec::Vec>` cannot be built from an iterator over elements of type `optional::Optioned` Nov 30 15:12:16.668 INFO [stderr] --> src/profile.rs:106:12 Nov 30 15:12:16.668 INFO [stderr] | Nov 30 15:12:16.668 INFO [stderr] 106 | }).collect() Nov 30 15:12:16.668 INFO [stderr] | ^^^^^^^ a collection of type `std::vec::Vec>` cannot be built from `std::iter::Iterator>` Nov 30 15:12:16.668 INFO [stderr] | Nov 30 15:12:16.668 INFO [stderr] = help: the trait `std::iter::FromIterator>` is not implemented for `std::vec::Vec>` Nov 30 15:12:16.668 INFO [stderr] Nov 30 15:12:16.668 INFO [stderr] error[E0271]: type mismatch resolving `> as std::iter::Iterator>::Item == &optional::Optioned` Nov 30 15:12:16.668 INFO [stderr] --> src/profile.rs:112:5 Nov 30 15:12:16.668 INFO [stderr] | Nov 30 15:12:16.668 INFO [stderr] 112 | lapse_rate(snd, t_profile) Nov 30 15:12:16.668 INFO [stderr] | ^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:16.668 INFO [stderr] | Nov 30 15:12:16.668 INFO [stderr] = note: expected type `&optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:16.668 INFO [stderr] found type `&optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:16.668 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:16.668 INFO [stderr] --> src/profile.rs:112:5 Nov 30 15:12:16.668 INFO [stderr] | Nov 30 15:12:16.668 INFO [stderr] 112 | lapse_rate(snd, t_profile) Nov 30 15:12:16.668 INFO [stderr] | ^^^^^^^^^^ Nov 30 15:12:16.668 INFO [stderr] = note: required because of the requirements on the impl of `std::iter::Iterator` for `std::iter::Cloned>>` Nov 30 15:12:16.668 INFO [stderr] note: required by `profile::lapse_rate` Nov 30 15:12:16.668 INFO [stderr] --> src/profile.rs:151:1 Nov 30 15:12:16.668 INFO [stderr] | Nov 30 15:12:16.668 INFO [stderr] 151 | / fn lapse_rate>>( Nov 30 15:12:16.668 INFO [stderr] 152 | | snd: &Sounding, Nov 30 15:12:16.668 INFO [stderr] 153 | | v_profile: I, Nov 30 15:12:16.668 INFO [stderr] 154 | | ) -> Vec> { Nov 30 15:12:16.668 INFO [stderr] ... | Nov 30 15:12:16.668 INFO [stderr] 176 | | }).collect() Nov 30 15:12:16.668 INFO [stderr] 177 | | } Nov 30 15:12:16.668 INFO [stderr] | |_^ Nov 30 15:12:16.669 INFO [stderr] Nov 30 15:12:16.669 INFO [stderr] error[E0271]: type mismatch resolving `> as std::iter::Iterator>::Item == &optional::Optioned` Nov 30 15:12:16.669 INFO [stderr] --> src/profile.rs:148:5 Nov 30 15:12:16.669 INFO [stderr] | Nov 30 15:12:16.669 INFO [stderr] 148 | lapse_rate(snd, theta_e) Nov 30 15:12:16.669 INFO [stderr] | ^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:16.669 INFO [stderr] | Nov 30 15:12:16.669 INFO [stderr] = note: expected type `&optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:16.669 INFO [stderr] found type `&optional::Optioned` (struct `optional::Optioned`) Nov 30 15:12:16.669 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:16.669 INFO [stderr] --> src/profile.rs:148:5 Nov 30 15:12:16.669 INFO [stderr] | Nov 30 15:12:16.669 INFO [stderr] 148 | lapse_rate(snd, theta_e) Nov 30 15:12:16.669 INFO [stderr] | ^^^^^^^^^^ Nov 30 15:12:16.669 INFO [stderr] = note: required because of the requirements on the impl of `std::iter::Iterator` for `std::iter::Cloned>>` Nov 30 15:12:16.669 INFO [stderr] note: required by `profile::lapse_rate` Nov 30 15:12:16.669 INFO [stderr] --> src/profile.rs:151:1 Nov 30 15:12:16.669 INFO [stderr] | Nov 30 15:12:16.669 INFO [stderr] 151 | / fn lapse_rate>>( Nov 30 15:12:16.669 INFO [stderr] 152 | | snd: &Sounding, Nov 30 15:12:16.669 INFO [stderr] 153 | | v_profile: I, Nov 30 15:12:16.669 INFO [stderr] 154 | | ) -> Vec> { Nov 30 15:12:16.669 INFO [stderr] ... | Nov 30 15:12:16.669 INFO [stderr] 176 | | }).collect() Nov 30 15:12:16.669 INFO [stderr] 177 | | } Nov 30 15:12:16.669 INFO [stderr] | |_^ Nov 30 15:12:16.669 INFO [stderr] Nov 30 15:12:16.684 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:16.684 INFO [stderr] --> src/profile.rs:219:44 Nov 30 15:12:16.684 INFO [stderr] | Nov 30 15:12:16.684 INFO [stderr] 219 | .set_profile(Temperature, vec![some(9.8), some(0.0), some(-5.0)]) Nov 30 15:12:16.684 INFO [stderr] | ^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:16.684 INFO [stderr] | Nov 30 15:12:16.684 INFO [stderr] = note: expected type `optional::Optioned` Nov 30 15:12:16.684 INFO [stderr] found type `optional::Optioned<{float}>` Nov 30 15:12:16.684 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:16.684 INFO [stderr] --> src/profile.rs:219:44 Nov 30 15:12:16.684 INFO [stderr] | Nov 30 15:12:16.684 INFO [stderr] 219 | .set_profile(Temperature, vec![some(9.8), some(0.0), some(-5.0)]) Nov 30 15:12:16.684 INFO [stderr] | ^^^^^^^^^ Nov 30 15:12:16.684 INFO [stderr] Nov 30 15:12:16.684 INFO [stderr] error[E0308]: mismatched types Nov 30 15:12:16.684 INFO [stderr] --> src/profile.rs:222:22 Nov 30 15:12:16.684 INFO [stderr] | Nov 30 15:12:16.684 INFO [stderr] 222 | vec![some(1000.0), some(2000.0), some(3000.0)], Nov 30 15:12:16.684 INFO [stderr] | ^^^^^^^^^^^^ expected struct `optional::Optioned`, found a different struct `optional::Optioned` Nov 30 15:12:16.684 INFO [stderr] | Nov 30 15:12:16.684 INFO [stderr] = note: expected type `optional::Optioned` Nov 30 15:12:16.684 INFO [stderr] found type `optional::Optioned<{float}>` Nov 30 15:12:16.684 INFO [stderr] note: Perhaps two different versions of crate `optional` are being used? Nov 30 15:12:16.684 INFO [stderr] --> src/profile.rs:222:22 Nov 30 15:12:16.685 INFO [stderr] | Nov 30 15:12:16.685 INFO [stderr] 222 | vec![some(1000.0), some(2000.0), some(3000.0)], Nov 30 15:12:16.685 INFO [stderr] | ^^^^^^^^^^^^ Nov 30 15:12:16.685 INFO [stderr] Nov 30 15:12:16.692 INFO [stderr] error: aborting due to 34 previous errors Nov 30 15:12:16.692 INFO [stderr] Nov 30 15:12:16.692 INFO [stderr] Some errors occurred: E0271, E0277, E0308. Nov 30 15:12:16.692 INFO [stderr] For more information about an error, try `rustc --explain E0271`. Nov 30 15:12:16.703 INFO [stderr] error: Could not compile `sounding-analysis`. Nov 30 15:12:16.703 INFO [stderr] Nov 30 15:12:16.703 INFO [stderr] To learn more, run the command again with --verbose. Nov 30 15:12:16.703 INFO [stderr] su: No module specific data is present Nov 30 15:12:17.200 INFO running `"docker" "inspect" "51c7a4d98e8dfbe2e0f6b9cff4572460e1dcb6ba61539e84cf518bfbca24ecce"` Nov 30 15:12:17.316 INFO running `"docker" "rm" "-f" "51c7a4d98e8dfbe2e0f6b9cff4572460e1dcb6ba61539e84cf518bfbca24ecce"` Nov 30 15:12:17.424 INFO [stdout] 51c7a4d98e8dfbe2e0f6b9cff4572460e1dcb6ba61539e84cf518bfbca24ecce