[INFO] fetching crate vrp-core 1.25.0...
[INFO] building vrp-core-1.25.0 against try#d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 for pr-146237-1
[INFO] extracting crate vrp-core 1.25.0 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate vrp-core 1.25.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate vrp-core 1.25.0
[INFO] tweaked toml for crates.io crate vrp-core 1.25.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate vrp-core 1.25.0 on toolchain d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate vrp-core 1.25.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f167dadc6fd0d2d7bb6166541af44646a92d11a5e0a1669aabc3abb19a9399d5
[INFO] running `Command { std: "docker" "start" "-a" "f167dadc6fd0d2d7bb6166541af44646a92d11a5e0a1669aabc3abb19a9399d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f167dadc6fd0d2d7bb6166541af44646a92d11a5e0a1669aabc3abb19a9399d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f167dadc6fd0d2d7bb6166541af44646a92d11a5e0a1669aabc3abb19a9399d5", kill_on_drop: false }`
[INFO] [stdout] f167dadc6fd0d2d7bb6166541af44646a92d11a5e0a1669aabc3abb19a9399d5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ae5a637affa0c8068ffd858101891b73aaa5c99a69981e9c14e79c2fd7c33654
[INFO] running `Command { std: "docker" "start" "-a" "ae5a637affa0c8068ffd858101891b73aaa5c99a69981e9c14e79c2fd7c33654", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling libc v0.2.162
[INFO] [stderr]    Compiling libm v0.2.11
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling rustc-hash v2.0.0
[INFO] [stderr]    Compiling tinyvec v1.8.0
[INFO] [stderr]    Compiling nohash-hasher v0.2.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling rosomaxa v0.9.0
[INFO] [stderr]    Compiling vrp-core v1.25.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/clustering/vicinity/estimations.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 99 -     transport: &(dyn TransportCost),
[INFO] [stdout] 99 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/clustering/vicinity/estimations.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |     transport: &(dyn TransportCost),
[INFO] [stdout]     |                 ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 124 -     transport: &(dyn TransportCost),
[INFO] [stdout] 124 +     transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/clustering/vicinity/mod.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 | type CheckInsertionFn = (dyn Fn(&Job) -> Result<(), ViolationCode> + Send + Sync);
[INFO] [stdout]    |                         ^                                                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 28 - type CheckInsertionFn = (dyn Fn(&Job) -> Result<(), ViolationCode> + Send + Sync);
[INFO] [stdout] 28 + type CheckInsertionFn = dyn Fn(&Job) -> Result<(), ViolationCode> + Send + Sync;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/conditional_job.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |     context_transition: &(dyn JobContextTransition),
[INFO] [stdout]    |                          ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 -     context_transition: &(dyn JobContextTransition),
[INFO] [stdout] 67 +     context_transition: &dyn JobContextTransition,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/departure_time.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 |     activity: &(dyn ActivityCost),
[INFO] [stdout]    |                ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 14 -     activity: &(dyn ActivityCost),
[INFO] [stdout] 14 +     activity: &dyn ActivityCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/departure_time.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 15 -     transport: &(dyn TransportCost),
[INFO] [stdout] 15 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/departure_time.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 |     activity: &(dyn ActivityCost),
[INFO] [stdout]    |                ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 -     activity: &(dyn ActivityCost),
[INFO] [stdout] 26 +     activity: &dyn ActivityCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/departure_time.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 27 -     transport: &(dyn TransportCost),
[INFO] [stdout] 27 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/departure_time.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 36 -     transport: &(dyn TransportCost),
[INFO] [stdout] 36 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/multi_trip.rs:20:34
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn get_constraint(&self) -> &(dyn FeatureConstraint);
[INFO] [stdout]    |                                  ^                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 20 -     fn get_constraint(&self) -> &(dyn FeatureConstraint);
[INFO] [stdout] 20 +     fn get_constraint(&self) -> &dyn FeatureConstraint;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 |     activity: &(dyn ActivityCost),
[INFO] [stdout]    |                ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 16 -     activity: &(dyn ActivityCost),
[INFO] [stdout] 16 +     activity: &dyn ActivityCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 17 -     transport: &(dyn TransportCost),
[INFO] [stdout] 17 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |     activity: &(dyn ActivityCost),
[INFO] [stdout]    |                ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 27 -     activity: &(dyn ActivityCost),
[INFO] [stdout] 27 +     activity: &dyn ActivityCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 28 -     transport: &(dyn TransportCost),
[INFO] [stdout] 28 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:37:62
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn update_schedules(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout]    |                                                              ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 37 - fn update_schedules(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout] 37 + fn update_schedules(route_ctx: &mut RouteContext, activity: &dyn ActivityCost, transport: &(dyn TransportCost)) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:37:94
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn update_schedules(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout]    |                                                                                              ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 37 - fn update_schedules(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout] 37 + fn update_schedules(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &dyn TransportCost) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:59:59
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn update_states(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout]    |                                                           ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 - fn update_states(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout] 59 + fn update_states(route_ctx: &mut RouteContext, activity: &dyn ActivityCost, transport: &(dyn TransportCost)) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:59:91
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn update_states(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout]    |                                                                                           ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 - fn update_states(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout] 59 + fn update_states(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &dyn TransportCost) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/enablers/schedule_update.rs:113:64
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn update_statistics(route_ctx: &mut RouteContext, transport: &(dyn TransportCost)) {
[INFO] [stdout]     |                                                                ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 113 - fn update_statistics(route_ctx: &mut RouteContext, transport: &(dyn TransportCost)) {
[INFO] [stdout] 113 + fn update_statistics(route_ctx: &mut RouteContext, transport: &dyn TransportCost) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/travel_info.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 10 -     transport: &(dyn TransportCost),
[INFO] [stdout] 10 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/travel_info.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 36 -     transport: &(dyn TransportCost),
[INFO] [stdout] 36 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/travel_info.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 68 -     transport: &(dyn TransportCost),
[INFO] [stdout] 68 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/features/capacity.rs:138:34
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn get_constraint(&self) -> &(dyn FeatureConstraint) {
[INFO] [stdout]     |                                  ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 138 -     fn get_constraint(&self) -> &(dyn FeatureConstraint) {
[INFO] [stdout] 138 +     fn get_constraint(&self) -> &dyn FeatureConstraint {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/features/recharge.rs:184:34
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn get_constraint(&self) -> &(dyn FeatureConstraint) {
[INFO] [stdout]     |                                  ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 184 -     fn get_constraint(&self) -> &(dyn FeatureConstraint) {
[INFO] [stdout] 184 +     fn get_constraint(&self) -> &dyn FeatureConstraint {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/features/tour_order.rs:160:19
[INFO] [stdout]     |
[INFO] [stdout] 160 |     check_order: &(dyn Fn(OrderResult, OrderResult, bool) -> Option<T>),
[INFO] [stdout]     |                   ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 160 -     check_order: &(dyn Fn(OrderResult, OrderResult, bool) -> Option<T>),
[INFO] [stdout] 160 +     check_order: &dyn Fn(OrderResult, OrderResult, bool) -> Option<T>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/heuristics/evaluators.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub result_selector: &'a (dyn ResultSelector),
[INFO] [stdout]    |                              ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 25 -     pub result_selector: &'a (dyn ResultSelector),
[INFO] [stdout] 25 +     pub result_selector: &'a dyn ResultSelector,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/insertions.rs:264:24
[INFO] [stdout]     |
[INFO] [stdout] 264 |         job_selector: &(dyn JobSelector),
[INFO] [stdout]     |                        ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 264 -         job_selector: &(dyn JobSelector),
[INFO] [stdout] 264 +         job_selector: &dyn JobSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/insertions.rs:265:26
[INFO] [stdout]     |
[INFO] [stdout] 265 |         route_selector: &(dyn RouteSelector),
[INFO] [stdout]     |                          ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 265 -         route_selector: &(dyn RouteSelector),
[INFO] [stdout] 265 +         route_selector: &dyn RouteSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/insertions.rs:267:27
[INFO] [stdout]     |
[INFO] [stdout] 267 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                           ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 267 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 267 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/heuristics/selectors.rs:77:27
[INFO] [stdout]    |
[INFO] [stdout] 77 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]    |                           ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 77 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/selectors.rs:105:27
[INFO] [stdout]     |
[INFO] [stdout] 105 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                           ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 105 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 105 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/selectors.rs:137:27
[INFO] [stdout]     |
[INFO] [stdout] 137 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                           ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 137 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 137 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/selectors.rs:355:28
[INFO] [stdout]     |
[INFO] [stdout] 355 |     pub fn pick(&self) -> &(dyn ResultSelector) {
[INFO] [stdout]     |                            ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 355 -     pub fn pick(&self) -> &(dyn ResultSelector) {
[INFO] [stdout] 355 +     pub fn pick(&self) -> &dyn ResultSelector {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/probing/repair_solution.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     factory: &(dyn Fn() -> InsertionContext),
[INFO] [stdout]    |               ^                            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 19 -     factory: &(dyn Fn() -> InsertionContext),
[INFO] [stdout] 19 +     factory: &dyn Fn() -> InsertionContext,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/goal.rs:450:37
[INFO] [stdout]     |
[INFO] [stdout] 450 |     fn get_shuffled(&self, random: &(dyn Random)) -> Self {
[INFO] [stdout]     |                                     ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 450 -     fn get_shuffled(&self, random: &(dyn Random)) -> Self {
[INFO] [stdout] 450 +     fn get_shuffled(&self, random: &dyn Random) -> Self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/goal.rs:474:37
[INFO] [stdout]     |
[INFO] [stdout] 474 |     fn get_shuffled(&self, random: &(dyn Random)) -> Self {
[INFO] [stdout]     |                                     ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 474 -     fn get_shuffled(&self, random: &(dyn Random)) -> Self {
[INFO] [stdout] 474 +     fn get_shuffled(&self, random: &dyn Random) -> Self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/problem/jobs.rs:245:21
[INFO] [stdout]     |
[INFO] [stdout] 245 |         transport: &(dyn TransportCost),
[INFO] [stdout]     |                     ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 245 -         transport: &(dyn TransportCost),
[INFO] [stdout] 245 +         transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/problem/jobs.rs:332:17
[INFO] [stdout]     |
[INFO] [stdout] 332 |     transport: &(dyn TransportCost),
[INFO] [stdout]     |                 ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 332 -     transport: &(dyn TransportCost),
[INFO] [stdout] 332 +     transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/problem/jobs.rs:385:17
[INFO] [stdout]     |
[INFO] [stdout] 385 |     transport: &(dyn TransportCost),
[INFO] [stdout]     |                 ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 385 -     transport: &(dyn TransportCost),
[INFO] [stdout] 385 +     transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/problem/jobs.rs:404:17
[INFO] [stdout]     |
[INFO] [stdout] 404 |     transport: &(dyn TransportCost),
[INFO] [stdout]     |                 ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 404 -     transport: &(dyn TransportCost),
[INFO] [stdout] 404 +     transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/problem/jobs.rs:419:17
[INFO] [stdout]     |
[INFO] [stdout] 419 |     transport: &(dyn TransportCost),
[INFO] [stdout]     |                 ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 419 -     transport: &(dyn TransportCost),
[INFO] [stdout] 419 +     transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/solver/search/local/exchange_inter_route.rs:180:23
[INFO] [stdout]     |
[INFO] [stdout] 180 |     result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                       ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 180 -     result_selector: &(dyn ResultSelector),
[INFO] [stdout] 180 +     result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/local/exchange_swap_star.rs:79:71
[INFO] [stdout]    |
[INFO] [stdout] 79 | type SearchContext<'a> = (&'a InsertionContext, &'a LegSelection, &'a (dyn ResultSelector));
[INFO] [stdout]    |                                                                       ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 79 - type SearchContext<'a> = (&'a InsertionContext, &'a LegSelection, &'a (dyn ResultSelector));
[INFO] [stdout] 79 + type SearchContext<'a> = (&'a InsertionContext, &'a LegSelection, &'a dyn ResultSelector);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/solver/search/local/exchange_swap_star.rs:291:23
[INFO] [stdout]     |
[INFO] [stdout] 291 |     result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                       ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 291 -     result_selector: &(dyn ResultSelector),
[INFO] [stdout] 291 +     result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/solver/search/local/exchange_swap_star.rs:372:23
[INFO] [stdout]     |
[INFO] [stdout] 372 |     result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                       ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 372 -     result_selector: &(dyn ResultSelector),
[INFO] [stdout] 372 +     result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/recreate/recreate_with_regret.rs:61:27
[INFO] [stdout]    |
[INFO] [stdout] 61 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]    |                           ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 61 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 61 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/recreate/recreate_with_skip_best.rs:59:27
[INFO] [stdout]    |
[INFO] [stdout] 59 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]    |                           ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 59 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/solver/search/ruin/route_removal.rs:140:14
[INFO] [stdout]     |
[INFO] [stdout] 140 |     random: &(dyn Random),
[INFO] [stdout]     |              ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 140 -     random: &(dyn Random),
[INFO] [stdout] 140 +     random: &dyn Random,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/removal.rs:82:18
[INFO] [stdout]    |
[INFO] [stdout] 82 |         random: &(dyn Random),
[INFO] [stdout]    |                  ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 82 -         random: &(dyn Random),
[INFO] [stdout] 82 +         random: &dyn Random,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/removal.rs:97:92
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn can_remove_full_route(&self, solution: &SolutionContext, route_idx: usize, random: &(dyn Random)) -> bool {
[INFO] [stdout]    |                                                                                            ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 97 -     fn can_remove_full_route(&self, solution: &SolutionContext, route_idx: usize, random: &(dyn Random)) -> bool {
[INFO] [stdout] 97 +     fn can_remove_full_route(&self, solution: &SolutionContext, route_idx: usize, random: &dyn Random) -> bool {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/solver/search/utils/removal.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 142 |         random: &(dyn Random),
[INFO] [stdout]     |                  ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 142 -         random: &(dyn Random),
[INFO] [stdout] 142 +         random: &dyn Random,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/selection.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 47 |     random: &(dyn Random),
[INFO] [stdout]    |              ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 47 -     random: &(dyn Random),
[INFO] [stdout] 47 +     random: &dyn Random,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/selection.rs:48:20
[INFO] [stdout]    |
[INFO] [stdout] 48 |     route_filter: &(dyn Fn(&RouteContext) -> bool),
[INFO] [stdout]    |                    ^                             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -     route_filter: &(dyn Fn(&RouteContext) -> bool),
[INFO] [stdout] 48 +     route_filter: &dyn Fn(&RouteContext) -> bool,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/selection.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 49 |     job_filter: &(dyn Fn(&Job) -> bool),
[INFO] [stdout]    |                  ^                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 49 -     job_filter: &(dyn Fn(&Job) -> bool),
[INFO] [stdout] 49 +     job_filter: &dyn Fn(&Job) -> bool,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/selection.rs:79:14
[INFO] [stdout]    |
[INFO] [stdout] 79 |     random: &(dyn Random),
[INFO] [stdout]    |              ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 79 -     random: &(dyn Random),
[INFO] [stdout] 79 +     random: &dyn Random,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/selection.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |     job_filter: &(dyn Fn(&Job) -> bool),
[INFO] [stdout]    |                  ^                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -     job_filter: &(dyn Fn(&Job) -> bool),
[INFO] [stdout] 80 +     job_filter: &dyn Fn(&Job) -> bool,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/tabu_list.rs:80:14
[INFO] [stdout]    |
[INFO] [stdout] 80 |     random: &(dyn Random),
[INFO] [stdout]    |              ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -     random: &(dyn Random),
[INFO] [stdout] 80 +     random: &dyn Random,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/models/solution/tour.rs:99:27
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn all_activities(&self) -> Iter<Activity> {
[INFO] [stdout]    |                           ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn all_activities(&self) -> Iter<'_, Activity> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/models/solution/tour.rs:109:31
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn all_activities_mut(&mut self) -> IterMut<Activity> {
[INFO] [stdout]     |                               ^^^^^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn all_activities_mut(&mut self) -> IterMut<'_, Activity> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/models/solution/tour.rs:114:79
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn job_activities<'a>(&'a self, job: &'a Job) -> impl Iterator<Item = &Activity> + 'a {
[INFO] [stdout]     |                                --             --                              ^^^^^^^^^    -- the same lifetime is named here
[INFO] [stdout]     |                                |              |                               |
[INFO] [stdout]     |                                |              the lifetime is named here      the same lifetime is elided here
[INFO] [stdout]     |                                the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn job_activities<'a>(&'a self, job: &'a Job) -> impl Iterator<Item = &'a Activity> + 'a {
[INFO] [stdout]     |                                                                                ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/solver/mod.rs:144:58
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn selected<'a>(&'a self) -> Box<dyn Iterator<Item = &Self::Solution> + 'a> {
[INFO] [stdout]     |                      -- the lifetime is named here       ^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn selected<'a>(&'a self) -> Box<dyn Iterator<Item = &'a Self::Solution> + 'a> {
[INFO] [stdout]     |                                                           ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/solver/mod.rs:148:56
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn ranked<'a>(&'a self) -> Box<dyn Iterator<Item = &Self::Solution> + 'a> {
[INFO] [stdout]     |                    -- the lifetime is named here       ^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn ranked<'a>(&'a self) -> Box<dyn Iterator<Item = &'a Self::Solution> + 'a> {
[INFO] [stdout]     |                                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::ops::ControlFlow` that must be used
[INFO] [stdout]    --> src/construction/enablers/feature_combinator.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 | /         self.states.iter().try_for_each(|state| {
[INFO] [stdout] 125 | |             let previous_state = (ctx.required.len(), ctx.ignored.len(), ctx.unassigned.len());
[INFO] [stdout] 126 | |
[INFO] [stdout] 127 | |             state.accept_solution_state(ctx);
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let _ = self.states.iter().try_for_each(|state| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.31s
[INFO] running `Command { std: "docker" "inspect" "ae5a637affa0c8068ffd858101891b73aaa5c99a69981e9c14e79c2fd7c33654", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae5a637affa0c8068ffd858101891b73aaa5c99a69981e9c14e79c2fd7c33654", kill_on_drop: false }`
[INFO] [stdout] ae5a637affa0c8068ffd858101891b73aaa5c99a69981e9c14e79c2fd7c33654
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1e3396ca99b5696077878e28ce3047869a22299fa08fda20787040e337d6bdf6
[INFO] running `Command { std: "docker" "start" "-a" "1e3396ca99b5696077878e28ce3047869a22299fa08fda20787040e337d6bdf6", kill_on_drop: false }`
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/clustering/vicinity/estimations.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 99 -     transport: &(dyn TransportCost),
[INFO] [stdout] 99 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/clustering/vicinity/estimations.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |     transport: &(dyn TransportCost),
[INFO] [stdout]     |                 ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 124 -     transport: &(dyn TransportCost),
[INFO] [stdout] 124 +     transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/clustering/vicinity/mod.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 | type CheckInsertionFn = (dyn Fn(&Job) -> Result<(), ViolationCode> + Send + Sync);
[INFO] [stdout]    |                         ^                                                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 28 - type CheckInsertionFn = (dyn Fn(&Job) -> Result<(), ViolationCode> + Send + Sync);
[INFO] [stdout] 28 + type CheckInsertionFn = dyn Fn(&Job) -> Result<(), ViolationCode> + Send + Sync;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/conditional_job.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |     context_transition: &(dyn JobContextTransition),
[INFO] [stdout]    |                          ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 -     context_transition: &(dyn JobContextTransition),
[INFO] [stdout] 67 +     context_transition: &dyn JobContextTransition,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/departure_time.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 |     activity: &(dyn ActivityCost),
[INFO] [stdout]    |                ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 14 -     activity: &(dyn ActivityCost),
[INFO] [stdout] 14 +     activity: &dyn ActivityCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/departure_time.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 15 -     transport: &(dyn TransportCost),
[INFO] [stdout] 15 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/departure_time.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 |     activity: &(dyn ActivityCost),
[INFO] [stdout]    |                ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 -     activity: &(dyn ActivityCost),
[INFO] [stdout] 26 +     activity: &dyn ActivityCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/departure_time.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 27 -     transport: &(dyn TransportCost),
[INFO] [stdout] 27 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/departure_time.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 36 -     transport: &(dyn TransportCost),
[INFO] [stdout] 36 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/multi_trip.rs:20:34
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn get_constraint(&self) -> &(dyn FeatureConstraint);
[INFO] [stdout]    |                                  ^                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 20 -     fn get_constraint(&self) -> &(dyn FeatureConstraint);
[INFO] [stdout] 20 +     fn get_constraint(&self) -> &dyn FeatureConstraint;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 |     activity: &(dyn ActivityCost),
[INFO] [stdout]    |                ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 16 -     activity: &(dyn ActivityCost),
[INFO] [stdout] 16 +     activity: &dyn ActivityCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 17 -     transport: &(dyn TransportCost),
[INFO] [stdout] 17 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |     activity: &(dyn ActivityCost),
[INFO] [stdout]    |                ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 27 -     activity: &(dyn ActivityCost),
[INFO] [stdout] 27 +     activity: &dyn ActivityCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 28 -     transport: &(dyn TransportCost),
[INFO] [stdout] 28 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:37:62
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn update_schedules(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout]    |                                                              ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 37 - fn update_schedules(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout] 37 + fn update_schedules(route_ctx: &mut RouteContext, activity: &dyn ActivityCost, transport: &(dyn TransportCost)) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:37:94
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn update_schedules(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout]    |                                                                                              ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 37 - fn update_schedules(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout] 37 + fn update_schedules(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &dyn TransportCost) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:59:59
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn update_states(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout]    |                                                           ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 - fn update_states(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout] 59 + fn update_states(route_ctx: &mut RouteContext, activity: &dyn ActivityCost, transport: &(dyn TransportCost)) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:59:91
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn update_states(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout]    |                                                                                           ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 - fn update_states(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout] 59 + fn update_states(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &dyn TransportCost) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/enablers/schedule_update.rs:113:64
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn update_statistics(route_ctx: &mut RouteContext, transport: &(dyn TransportCost)) {
[INFO] [stdout]     |                                                                ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 113 - fn update_statistics(route_ctx: &mut RouteContext, transport: &(dyn TransportCost)) {
[INFO] [stdout] 113 + fn update_statistics(route_ctx: &mut RouteContext, transport: &dyn TransportCost) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/travel_info.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 10 -     transport: &(dyn TransportCost),
[INFO] [stdout] 10 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/travel_info.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 36 -     transport: &(dyn TransportCost),
[INFO] [stdout] 36 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/travel_info.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 68 -     transport: &(dyn TransportCost),
[INFO] [stdout] 68 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/features/capacity.rs:138:34
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn get_constraint(&self) -> &(dyn FeatureConstraint) {
[INFO] [stdout]     |                                  ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 138 -     fn get_constraint(&self) -> &(dyn FeatureConstraint) {
[INFO] [stdout] 138 +     fn get_constraint(&self) -> &dyn FeatureConstraint {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/features/recharge.rs:184:34
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn get_constraint(&self) -> &(dyn FeatureConstraint) {
[INFO] [stdout]     |                                  ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 184 -     fn get_constraint(&self) -> &(dyn FeatureConstraint) {
[INFO] [stdout] 184 +     fn get_constraint(&self) -> &dyn FeatureConstraint {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/features/tour_order.rs:160:19
[INFO] [stdout]     |
[INFO] [stdout] 160 |     check_order: &(dyn Fn(OrderResult, OrderResult, bool) -> Option<T>),
[INFO] [stdout]     |                   ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 160 -     check_order: &(dyn Fn(OrderResult, OrderResult, bool) -> Option<T>),
[INFO] [stdout] 160 +     check_order: &dyn Fn(OrderResult, OrderResult, bool) -> Option<T>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/heuristics/evaluators.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub result_selector: &'a (dyn ResultSelector),
[INFO] [stdout]    |                              ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 25 -     pub result_selector: &'a (dyn ResultSelector),
[INFO] [stdout] 25 +     pub result_selector: &'a dyn ResultSelector,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/insertions.rs:264:24
[INFO] [stdout]     |
[INFO] [stdout] 264 |         job_selector: &(dyn JobSelector),
[INFO] [stdout]     |                        ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 264 -         job_selector: &(dyn JobSelector),
[INFO] [stdout] 264 +         job_selector: &dyn JobSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/insertions.rs:265:26
[INFO] [stdout]     |
[INFO] [stdout] 265 |         route_selector: &(dyn RouteSelector),
[INFO] [stdout]     |                          ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 265 -         route_selector: &(dyn RouteSelector),
[INFO] [stdout] 265 +         route_selector: &dyn RouteSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/insertions.rs:267:27
[INFO] [stdout]     |
[INFO] [stdout] 267 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                           ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 267 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 267 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/heuristics/selectors.rs:77:27
[INFO] [stdout]    |
[INFO] [stdout] 77 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]    |                           ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 77 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/selectors.rs:105:27
[INFO] [stdout]     |
[INFO] [stdout] 105 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                           ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 105 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 105 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/selectors.rs:137:27
[INFO] [stdout]     |
[INFO] [stdout] 137 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                           ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 137 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 137 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/selectors.rs:355:28
[INFO] [stdout]     |
[INFO] [stdout] 355 |     pub fn pick(&self) -> &(dyn ResultSelector) {
[INFO] [stdout]     |                            ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 355 -     pub fn pick(&self) -> &(dyn ResultSelector) {
[INFO] [stdout] 355 +     pub fn pick(&self) -> &dyn ResultSelector {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/probing/repair_solution.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     factory: &(dyn Fn() -> InsertionContext),
[INFO] [stdout]    |               ^                            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 19 -     factory: &(dyn Fn() -> InsertionContext),
[INFO] [stdout] 19 +     factory: &dyn Fn() -> InsertionContext,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/goal.rs:450:37
[INFO] [stdout]     |
[INFO] [stdout] 450 |     fn get_shuffled(&self, random: &(dyn Random)) -> Self {
[INFO] [stdout]     |                                     ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 450 -     fn get_shuffled(&self, random: &(dyn Random)) -> Self {
[INFO] [stdout] 450 +     fn get_shuffled(&self, random: &dyn Random) -> Self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/goal.rs:474:37
[INFO] [stdout]     |
[INFO] [stdout] 474 |     fn get_shuffled(&self, random: &(dyn Random)) -> Self {
[INFO] [stdout]     |                                     ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 474 -     fn get_shuffled(&self, random: &(dyn Random)) -> Self {
[INFO] [stdout] 474 +     fn get_shuffled(&self, random: &dyn Random) -> Self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/problem/jobs.rs:245:21
[INFO] [stdout]     |
[INFO] [stdout] 245 |         transport: &(dyn TransportCost),
[INFO] [stdout]     |                     ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 245 -         transport: &(dyn TransportCost),
[INFO] [stdout] 245 +         transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/problem/jobs.rs:332:17
[INFO] [stdout]     |
[INFO] [stdout] 332 |     transport: &(dyn TransportCost),
[INFO] [stdout]     |                 ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 332 -     transport: &(dyn TransportCost),
[INFO] [stdout] 332 +     transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/problem/jobs.rs:385:17
[INFO] [stdout]     |
[INFO] [stdout] 385 |     transport: &(dyn TransportCost),
[INFO] [stdout]     |                 ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 385 -     transport: &(dyn TransportCost),
[INFO] [stdout] 385 +     transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/problem/jobs.rs:404:17
[INFO] [stdout]     |
[INFO] [stdout] 404 |     transport: &(dyn TransportCost),
[INFO] [stdout]     |                 ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 404 -     transport: &(dyn TransportCost),
[INFO] [stdout] 404 +     transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/problem/jobs.rs:419:17
[INFO] [stdout]     |
[INFO] [stdout] 419 |     transport: &(dyn TransportCost),
[INFO] [stdout]     |                 ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 419 -     transport: &(dyn TransportCost),
[INFO] [stdout] 419 +     transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/solver/search/local/exchange_inter_route.rs:180:23
[INFO] [stdout]     |
[INFO] [stdout] 180 |     result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                       ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 180 -     result_selector: &(dyn ResultSelector),
[INFO] [stdout] 180 +     result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/local/exchange_swap_star.rs:79:71
[INFO] [stdout]    |
[INFO] [stdout] 79 | type SearchContext<'a> = (&'a InsertionContext, &'a LegSelection, &'a (dyn ResultSelector));
[INFO] [stdout]    |                                                                       ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 79 - type SearchContext<'a> = (&'a InsertionContext, &'a LegSelection, &'a (dyn ResultSelector));
[INFO] [stdout] 79 + type SearchContext<'a> = (&'a InsertionContext, &'a LegSelection, &'a dyn ResultSelector);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/solver/search/local/exchange_swap_star.rs:291:23
[INFO] [stdout]     |
[INFO] [stdout] 291 |     result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                       ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 291 -     result_selector: &(dyn ResultSelector),
[INFO] [stdout] 291 +     result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/solver/search/local/exchange_swap_star.rs:372:23
[INFO] [stdout]     |
[INFO] [stdout] 372 |     result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                       ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 372 -     result_selector: &(dyn ResultSelector),
[INFO] [stdout] 372 +     result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/recreate/recreate_with_regret.rs:61:27
[INFO] [stdout]    |
[INFO] [stdout] 61 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]    |                           ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 61 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 61 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/recreate/recreate_with_skip_best.rs:59:27
[INFO] [stdout]    |
[INFO] [stdout] 59 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]    |                           ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 59 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/solver/search/ruin/route_removal.rs:140:14
[INFO] [stdout]     |
[INFO] [stdout] 140 |     random: &(dyn Random),
[INFO] [stdout]     |              ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 140 -     random: &(dyn Random),
[INFO] [stdout] 140 +     random: &dyn Random,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/removal.rs:82:18
[INFO] [stdout]    |
[INFO] [stdout] 82 |         random: &(dyn Random),
[INFO] [stdout]    |                  ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 82 -         random: &(dyn Random),
[INFO] [stdout] 82 +         random: &dyn Random,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/removal.rs:97:92
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn can_remove_full_route(&self, solution: &SolutionContext, route_idx: usize, random: &(dyn Random)) -> bool {
[INFO] [stdout]    |                                                                                            ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 97 -     fn can_remove_full_route(&self, solution: &SolutionContext, route_idx: usize, random: &(dyn Random)) -> bool {
[INFO] [stdout] 97 +     fn can_remove_full_route(&self, solution: &SolutionContext, route_idx: usize, random: &dyn Random) -> bool {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/solver/search/utils/removal.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 142 |         random: &(dyn Random),
[INFO] [stdout]     |                  ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 142 -         random: &(dyn Random),
[INFO] [stdout] 142 +         random: &dyn Random,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/selection.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 47 |     random: &(dyn Random),
[INFO] [stdout]    |              ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 47 -     random: &(dyn Random),
[INFO] [stdout] 47 +     random: &dyn Random,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/selection.rs:48:20
[INFO] [stdout]    |
[INFO] [stdout] 48 |     route_filter: &(dyn Fn(&RouteContext) -> bool),
[INFO] [stdout]    |                    ^                             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -     route_filter: &(dyn Fn(&RouteContext) -> bool),
[INFO] [stdout] 48 +     route_filter: &dyn Fn(&RouteContext) -> bool,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/selection.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 49 |     job_filter: &(dyn Fn(&Job) -> bool),
[INFO] [stdout]    |                  ^                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 49 -     job_filter: &(dyn Fn(&Job) -> bool),
[INFO] [stdout] 49 +     job_filter: &dyn Fn(&Job) -> bool,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/selection.rs:79:14
[INFO] [stdout]    |
[INFO] [stdout] 79 |     random: &(dyn Random),
[INFO] [stdout]    |              ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 79 -     random: &(dyn Random),
[INFO] [stdout] 79 +     random: &dyn Random,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/selection.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |     job_filter: &(dyn Fn(&Job) -> bool),
[INFO] [stdout]    |                  ^                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -     job_filter: &(dyn Fn(&Job) -> bool),
[INFO] [stdout] 80 +     job_filter: &dyn Fn(&Job) -> bool,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/tabu_list.rs:80:14
[INFO] [stdout]    |
[INFO] [stdout] 80 |     random: &(dyn Random),
[INFO] [stdout]    |              ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -     random: &(dyn Random),
[INFO] [stdout] 80 +     random: &dyn Random,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/models/solution/tour.rs:99:27
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn all_activities(&self) -> Iter<Activity> {
[INFO] [stdout]    |                           ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn all_activities(&self) -> Iter<'_, Activity> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling vrp-core v1.25.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/models/solution/tour.rs:109:31
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn all_activities_mut(&mut self) -> IterMut<Activity> {
[INFO] [stdout]     |                               ^^^^^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn all_activities_mut(&mut self) -> IterMut<'_, Activity> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/models/solution/tour.rs:114:79
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn job_activities<'a>(&'a self, job: &'a Job) -> impl Iterator<Item = &Activity> + 'a {
[INFO] [stdout]     |                                --             --                              ^^^^^^^^^    -- the same lifetime is named here
[INFO] [stdout]     |                                |              |                               |
[INFO] [stdout]     |                                |              the lifetime is named here      the same lifetime is elided here
[INFO] [stdout]     |                                the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn job_activities<'a>(&'a self, job: &'a Job) -> impl Iterator<Item = &'a Activity> + 'a {
[INFO] [stdout]     |                                                                                ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/solver/mod.rs:144:58
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn selected<'a>(&'a self) -> Box<dyn Iterator<Item = &Self::Solution> + 'a> {
[INFO] [stdout]     |                      -- the lifetime is named here       ^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn selected<'a>(&'a self) -> Box<dyn Iterator<Item = &'a Self::Solution> + 'a> {
[INFO] [stdout]     |                                                           ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/solver/mod.rs:148:56
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn ranked<'a>(&'a self) -> Box<dyn Iterator<Item = &Self::Solution> + 'a> {
[INFO] [stdout]     |                    -- the lifetime is named here       ^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn ranked<'a>(&'a self) -> Box<dyn Iterator<Item = &'a Self::Solution> + 'a> {
[INFO] [stdout]     |                                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::ops::ControlFlow` that must be used
[INFO] [stdout]    --> src/construction/enablers/feature_combinator.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 | /         self.states.iter().try_for_each(|state| {
[INFO] [stdout] 125 | |             let previous_state = (ctx.required.len(), ctx.ignored.len(), ctx.unassigned.len());
[INFO] [stdout] 126 | |
[INFO] [stdout] 127 | |             state.accept_solution_state(ctx);
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let _ = self.states.iter().try_for_each(|state| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/clustering/vicinity/estimations.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 99 -     transport: &(dyn TransportCost),
[INFO] [stdout] 99 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/clustering/vicinity/estimations.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |     transport: &(dyn TransportCost),
[INFO] [stdout]     |                 ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 124 -     transport: &(dyn TransportCost),
[INFO] [stdout] 124 +     transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/clustering/vicinity/mod.rs:28:25
[INFO] [stdout]    |
[INFO] [stdout] 28 | type CheckInsertionFn = (dyn Fn(&Job) -> Result<(), ViolationCode> + Send + Sync);
[INFO] [stdout]    |                         ^                                                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 28 - type CheckInsertionFn = (dyn Fn(&Job) -> Result<(), ViolationCode> + Send + Sync);
[INFO] [stdout] 28 + type CheckInsertionFn = dyn Fn(&Job) -> Result<(), ViolationCode> + Send + Sync;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/conditional_job.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |     context_transition: &(dyn JobContextTransition),
[INFO] [stdout]    |                          ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 -     context_transition: &(dyn JobContextTransition),
[INFO] [stdout] 67 +     context_transition: &dyn JobContextTransition,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/departure_time.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 |     activity: &(dyn ActivityCost),
[INFO] [stdout]    |                ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 14 -     activity: &(dyn ActivityCost),
[INFO] [stdout] 14 +     activity: &dyn ActivityCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/departure_time.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 15 -     transport: &(dyn TransportCost),
[INFO] [stdout] 15 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/departure_time.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 |     activity: &(dyn ActivityCost),
[INFO] [stdout]    |                ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 -     activity: &(dyn ActivityCost),
[INFO] [stdout] 26 +     activity: &dyn ActivityCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/departure_time.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 27 -     transport: &(dyn TransportCost),
[INFO] [stdout] 27 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/departure_time.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 36 -     transport: &(dyn TransportCost),
[INFO] [stdout] 36 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/multi_trip.rs:20:34
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn get_constraint(&self) -> &(dyn FeatureConstraint);
[INFO] [stdout]    |                                  ^                     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 20 -     fn get_constraint(&self) -> &(dyn FeatureConstraint);
[INFO] [stdout] 20 +     fn get_constraint(&self) -> &dyn FeatureConstraint;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 |     activity: &(dyn ActivityCost),
[INFO] [stdout]    |                ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 16 -     activity: &(dyn ActivityCost),
[INFO] [stdout] 16 +     activity: &dyn ActivityCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 17 -     transport: &(dyn TransportCost),
[INFO] [stdout] 17 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |     activity: &(dyn ActivityCost),
[INFO] [stdout]    |                ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 27 -     activity: &(dyn ActivityCost),
[INFO] [stdout] 27 +     activity: &dyn ActivityCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 28 -     transport: &(dyn TransportCost),
[INFO] [stdout] 28 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:37:62
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn update_schedules(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout]    |                                                              ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 37 - fn update_schedules(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout] 37 + fn update_schedules(route_ctx: &mut RouteContext, activity: &dyn ActivityCost, transport: &(dyn TransportCost)) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:37:94
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn update_schedules(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout]    |                                                                                              ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 37 - fn update_schedules(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout] 37 + fn update_schedules(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &dyn TransportCost) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:59:59
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn update_states(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout]    |                                                           ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 - fn update_states(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout] 59 + fn update_states(route_ctx: &mut RouteContext, activity: &dyn ActivityCost, transport: &(dyn TransportCost)) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/schedule_update.rs:59:91
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn update_states(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout]    |                                                                                           ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 - fn update_states(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &(dyn TransportCost)) {
[INFO] [stdout] 59 + fn update_states(route_ctx: &mut RouteContext, activity: &(dyn ActivityCost), transport: &dyn TransportCost) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/enablers/schedule_update.rs:113:64
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn update_statistics(route_ctx: &mut RouteContext, transport: &(dyn TransportCost)) {
[INFO] [stdout]     |                                                                ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 113 - fn update_statistics(route_ctx: &mut RouteContext, transport: &(dyn TransportCost)) {
[INFO] [stdout] 113 + fn update_statistics(route_ctx: &mut RouteContext, transport: &dyn TransportCost) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/travel_info.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 10 -     transport: &(dyn TransportCost),
[INFO] [stdout] 10 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/travel_info.rs:36:17
[INFO] [stdout]    |
[INFO] [stdout] 36 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 36 -     transport: &(dyn TransportCost),
[INFO] [stdout] 36 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/enablers/travel_info.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |     transport: &(dyn TransportCost),
[INFO] [stdout]    |                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 68 -     transport: &(dyn TransportCost),
[INFO] [stdout] 68 +     transport: &dyn TransportCost,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/features/capacity.rs:138:34
[INFO] [stdout]     |
[INFO] [stdout] 138 |     fn get_constraint(&self) -> &(dyn FeatureConstraint) {
[INFO] [stdout]     |                                  ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 138 -     fn get_constraint(&self) -> &(dyn FeatureConstraint) {
[INFO] [stdout] 138 +     fn get_constraint(&self) -> &dyn FeatureConstraint {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/features/recharge.rs:184:34
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn get_constraint(&self) -> &(dyn FeatureConstraint) {
[INFO] [stdout]     |                                  ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 184 -     fn get_constraint(&self) -> &(dyn FeatureConstraint) {
[INFO] [stdout] 184 +     fn get_constraint(&self) -> &dyn FeatureConstraint {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/features/tour_order.rs:160:19
[INFO] [stdout]     |
[INFO] [stdout] 160 |     check_order: &(dyn Fn(OrderResult, OrderResult, bool) -> Option<T>),
[INFO] [stdout]     |                   ^                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 160 -     check_order: &(dyn Fn(OrderResult, OrderResult, bool) -> Option<T>),
[INFO] [stdout] 160 +     check_order: &dyn Fn(OrderResult, OrderResult, bool) -> Option<T>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/heuristics/evaluators.rs:25:30
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub result_selector: &'a (dyn ResultSelector),
[INFO] [stdout]    |                              ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 25 -     pub result_selector: &'a (dyn ResultSelector),
[INFO] [stdout] 25 +     pub result_selector: &'a dyn ResultSelector,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/insertions.rs:264:24
[INFO] [stdout]     |
[INFO] [stdout] 264 |         job_selector: &(dyn JobSelector),
[INFO] [stdout]     |                        ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 264 -         job_selector: &(dyn JobSelector),
[INFO] [stdout] 264 +         job_selector: &dyn JobSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/insertions.rs:265:26
[INFO] [stdout]     |
[INFO] [stdout] 265 |         route_selector: &(dyn RouteSelector),
[INFO] [stdout]     |                          ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 265 -         route_selector: &(dyn RouteSelector),
[INFO] [stdout] 265 +         route_selector: &dyn RouteSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/insertions.rs:267:27
[INFO] [stdout]     |
[INFO] [stdout] 267 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                           ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 267 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 267 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/heuristics/../../../tests/unit/construction/heuristics/metrics_test.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 |     route_factory: &(dyn Fn(&Problem, usize) -> RouteContext),
[INFO] [stdout]    |                     ^                                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 10 -     route_factory: &(dyn Fn(&Problem, usize) -> RouteContext),
[INFO] [stdout] 10 +     route_factory: &dyn Fn(&Problem, usize) -> RouteContext,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/heuristics/selectors.rs:77:27
[INFO] [stdout]    |
[INFO] [stdout] 77 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]    |                           ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 77 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/selectors.rs:105:27
[INFO] [stdout]     |
[INFO] [stdout] 105 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                           ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 105 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 105 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/selectors.rs:137:27
[INFO] [stdout]     |
[INFO] [stdout] 137 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                           ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 137 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 137 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/construction/heuristics/selectors.rs:355:28
[INFO] [stdout]     |
[INFO] [stdout] 355 |     pub fn pick(&self) -> &(dyn ResultSelector) {
[INFO] [stdout]     |                            ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 355 -     pub fn pick(&self) -> &(dyn ResultSelector) {
[INFO] [stdout] 355 +     pub fn pick(&self) -> &dyn ResultSelector {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/construction/probing/repair_solution.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     factory: &(dyn Fn() -> InsertionContext),
[INFO] [stdout]    |               ^                            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 19 -     factory: &(dyn Fn() -> InsertionContext),
[INFO] [stdout] 19 +     factory: &dyn Fn() -> InsertionContext,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/goal.rs:450:37
[INFO] [stdout]     |
[INFO] [stdout] 450 |     fn get_shuffled(&self, random: &(dyn Random)) -> Self {
[INFO] [stdout]     |                                     ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 450 -     fn get_shuffled(&self, random: &(dyn Random)) -> Self {
[INFO] [stdout] 450 +     fn get_shuffled(&self, random: &dyn Random) -> Self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/goal.rs:474:37
[INFO] [stdout]     |
[INFO] [stdout] 474 |     fn get_shuffled(&self, random: &(dyn Random)) -> Self {
[INFO] [stdout]     |                                     ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 474 -     fn get_shuffled(&self, random: &(dyn Random)) -> Self {
[INFO] [stdout] 474 +     fn get_shuffled(&self, random: &dyn Random) -> Self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/problem/jobs.rs:245:21
[INFO] [stdout]     |
[INFO] [stdout] 245 |         transport: &(dyn TransportCost),
[INFO] [stdout]     |                     ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 245 -         transport: &(dyn TransportCost),
[INFO] [stdout] 245 +         transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/problem/jobs.rs:332:17
[INFO] [stdout]     |
[INFO] [stdout] 332 |     transport: &(dyn TransportCost),
[INFO] [stdout]     |                 ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 332 -     transport: &(dyn TransportCost),
[INFO] [stdout] 332 +     transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/problem/jobs.rs:385:17
[INFO] [stdout]     |
[INFO] [stdout] 385 |     transport: &(dyn TransportCost),
[INFO] [stdout]     |                 ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 385 -     transport: &(dyn TransportCost),
[INFO] [stdout] 385 +     transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/problem/jobs.rs:404:17
[INFO] [stdout]     |
[INFO] [stdout] 404 |     transport: &(dyn TransportCost),
[INFO] [stdout]     |                 ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 404 -     transport: &(dyn TransportCost),
[INFO] [stdout] 404 +     transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/models/problem/jobs.rs:419:17
[INFO] [stdout]     |
[INFO] [stdout] 419 |     transport: &(dyn TransportCost),
[INFO] [stdout]     |                 ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 419 -     transport: &(dyn TransportCost),
[INFO] [stdout] 419 +     transport: &dyn TransportCost,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/solver/search/local/exchange_inter_route.rs:180:23
[INFO] [stdout]     |
[INFO] [stdout] 180 |     result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                       ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 180 -     result_selector: &(dyn ResultSelector),
[INFO] [stdout] 180 +     result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/local/exchange_swap_star.rs:79:71
[INFO] [stdout]    |
[INFO] [stdout] 79 | type SearchContext<'a> = (&'a InsertionContext, &'a LegSelection, &'a (dyn ResultSelector));
[INFO] [stdout]    |                                                                       ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 79 - type SearchContext<'a> = (&'a InsertionContext, &'a LegSelection, &'a (dyn ResultSelector));
[INFO] [stdout] 79 + type SearchContext<'a> = (&'a InsertionContext, &'a LegSelection, &'a dyn ResultSelector);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/solver/search/local/exchange_swap_star.rs:291:23
[INFO] [stdout]     |
[INFO] [stdout] 291 |     result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                       ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 291 -     result_selector: &(dyn ResultSelector),
[INFO] [stdout] 291 +     result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/solver/search/local/exchange_swap_star.rs:372:23
[INFO] [stdout]     |
[INFO] [stdout] 372 |     result_selector: &(dyn ResultSelector),
[INFO] [stdout]     |                       ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 372 -     result_selector: &(dyn ResultSelector),
[INFO] [stdout] 372 +     result_selector: &dyn ResultSelector,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/recreate/recreate_with_regret.rs:61:27
[INFO] [stdout]    |
[INFO] [stdout] 61 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]    |                           ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 61 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 61 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/recreate/recreate_with_skip_best.rs:59:27
[INFO] [stdout]    |
[INFO] [stdout] 59 |         result_selector: &(dyn ResultSelector),
[INFO] [stdout]    |                           ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -         result_selector: &(dyn ResultSelector),
[INFO] [stdout] 59 +         result_selector: &dyn ResultSelector,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/solver/search/ruin/route_removal.rs:140:14
[INFO] [stdout]     |
[INFO] [stdout] 140 |     random: &(dyn Random),
[INFO] [stdout]     |              ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 140 -     random: &(dyn Random),
[INFO] [stdout] 140 +     random: &dyn Random,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/removal.rs:82:18
[INFO] [stdout]    |
[INFO] [stdout] 82 |         random: &(dyn Random),
[INFO] [stdout]    |                  ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 82 -         random: &(dyn Random),
[INFO] [stdout] 82 +         random: &dyn Random,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/removal.rs:97:92
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn can_remove_full_route(&self, solution: &SolutionContext, route_idx: usize, random: &(dyn Random)) -> bool {
[INFO] [stdout]    |                                                                                            ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 97 -     fn can_remove_full_route(&self, solution: &SolutionContext, route_idx: usize, random: &(dyn Random)) -> bool {
[INFO] [stdout] 97 +     fn can_remove_full_route(&self, solution: &SolutionContext, route_idx: usize, random: &dyn Random) -> bool {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/solver/search/utils/removal.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 142 |         random: &(dyn Random),
[INFO] [stdout]     |                  ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 142 -         random: &(dyn Random),
[INFO] [stdout] 142 +         random: &dyn Random,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/selection.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 47 |     random: &(dyn Random),
[INFO] [stdout]    |              ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 47 -     random: &(dyn Random),
[INFO] [stdout] 47 +     random: &dyn Random,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/selection.rs:48:20
[INFO] [stdout]    |
[INFO] [stdout] 48 |     route_filter: &(dyn Fn(&RouteContext) -> bool),
[INFO] [stdout]    |                    ^                             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -     route_filter: &(dyn Fn(&RouteContext) -> bool),
[INFO] [stdout] 48 +     route_filter: &dyn Fn(&RouteContext) -> bool,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/selection.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 49 |     job_filter: &(dyn Fn(&Job) -> bool),
[INFO] [stdout]    |                  ^                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 49 -     job_filter: &(dyn Fn(&Job) -> bool),
[INFO] [stdout] 49 +     job_filter: &dyn Fn(&Job) -> bool,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/selection.rs:79:14
[INFO] [stdout]    |
[INFO] [stdout] 79 |     random: &(dyn Random),
[INFO] [stdout]    |              ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 79 -     random: &(dyn Random),
[INFO] [stdout] 79 +     random: &dyn Random,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/selection.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |     job_filter: &(dyn Fn(&Job) -> bool),
[INFO] [stdout]    |                  ^                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -     job_filter: &(dyn Fn(&Job) -> bool),
[INFO] [stdout] 80 +     job_filter: &dyn Fn(&Job) -> bool,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/solver/search/utils/tabu_list.rs:80:14
[INFO] [stdout]    |
[INFO] [stdout] 80 |     random: &(dyn Random),
[INFO] [stdout]    |              ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 80 -     random: &(dyn Random),
[INFO] [stdout] 80 +     random: &dyn Random,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]    --> src/lib.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub mod helpers;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/../tests/helpers/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod construction;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/../tests/helpers/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod models;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/../tests/helpers/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod solver;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/../tests/helpers/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod utils;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/../tests/helpers/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod macros;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/../tests/helpers/construction/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod clustering;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/../tests/helpers/construction/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod features;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/../tests/helpers/construction/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod heuristics;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/../tests/helpers/construction/clustering/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod dbscan;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/../tests/helpers/construction/clustering/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod vicinity;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/../tests/helpers/construction/clustering/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn p(x: Float, y: Float) -> Point {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/../tests/helpers/construction/clustering/dbscan.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn create_test_distances() -> Vec<Float> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]   --> src/../tests/helpers/construction/clustering/vicinity.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub type JobPlaces = Vec<(Option<Location>, Duration, Vec<(Float, Float)>)>;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/construction/clustering/vicinity.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn get_clustered_jobs(&self) -> Option<&Vec<Job>>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/construction/clustering/vicinity.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn set_clustered_jobs(&mut self, jobs: Vec<Job>);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/construction/clustering/vicinity.rs:82:1
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn create_goal_context_with_vicinity(disallow_merge_list: Vec<&str>) -> GoalContext {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/construction/clustering/vicinity.rs:96:1
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn create_cluster_config() -> ClusterConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/../tests/helpers/construction/features.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn create_simple_demand(size: i32) -> Demand<SingleDimLoad> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/construction/features.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn create_simple_dynamic_demand(size: i32) -> Demand<SingleDimLoad> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/construction/features.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn single_demand_as_multi(pickup: (i32, i32), delivery: (i32, i32)) -> Demand<MultiDimLoad> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/../tests/helpers/construction/heuristics.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct TestInsertionContextBuilder {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/construction/heuristics.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn with_problem(&mut self, problem: Problem) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/construction/heuristics.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn with_solution(&mut self, solution: SolutionContext) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/construction/heuristics.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn with_registry(&mut self, registry: Registry) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/construction/heuristics.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn with_registry_context(&mut self, registry: RegistryContext) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/construction/heuristics.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn with_routes(&mut self, routes: Vec<RouteContext>) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/construction/heuristics.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn with_required(&mut self, required: Vec<Job>) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/construction/heuristics.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn with_unassigned(&mut self, required: Vec<(Job, UnassignmentInfo)>) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/construction/heuristics.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn with_goal(&mut self, goal: GoalContext) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/construction/heuristics.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn with_state(&mut self, state_fn: impl FnOnce(&mut SolutionState)) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/construction/heuristics.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn build(&mut self) -> InsertionContext {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/../tests/helpers/models/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod domain;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/../tests/helpers/models/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod problem;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/../tests/helpers/models/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod solution;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/../tests/helpers/models/domain.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn test_random() -> Arc<dyn Random> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/domain.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn test_logger() -> InfoLogger {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/../tests/helpers/models/domain.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct TestGoalContextBuilder {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/../tests/helpers/models/domain.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn empty() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/../tests/helpers/models/domain.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn with_transport_feature() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/domain.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn add_feature(mut self, feature: Feature) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/domain.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn add_features(mut self, feature: Vec<Feature>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/domain.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn build(self) -> GoalContext {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/domain.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn with_fleet(&mut self, fleet: Fleet) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/domain.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn with_jobs(&mut self, jobs: Vec<Job>) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/domain.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn with_goal(&mut self, goal: GoalContext) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/domain.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn build(&mut self) -> Problem {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/domain.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn get_customer_ids_from_routes_sorted(insertion_ctx: &InsertionContext) -> Vec<Vec<String>> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/models/solution/tour.rs:99:27
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn all_activities(&self) -> Iter<Activity> {
[INFO] [stdout]    |                           ^^^^^     ^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn all_activities(&self) -> Iter<'_, Activity> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/models/solution/tour.rs:109:31
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn all_activities_mut(&mut self) -> IterMut<Activity> {
[INFO] [stdout]     |                               ^^^^^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn all_activities_mut(&mut self) -> IterMut<'_, Activity> {
[INFO] [stdout]     |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/models/solution/tour.rs:114:79
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn job_activities<'a>(&'a self, job: &'a Job) -> impl Iterator<Item = &Activity> + 'a {
[INFO] [stdout]     |                                --             --                              ^^^^^^^^^    -- the same lifetime is named here
[INFO] [stdout]     |                                |              |                               |
[INFO] [stdout]     |                                |              the lifetime is named here      the same lifetime is elided here
[INFO] [stdout]     |                                the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn job_activities<'a>(&'a self, job: &'a Job) -> impl Iterator<Item = &'a Activity> + 'a {
[INFO] [stdout]     |                                                                                ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/solver/mod.rs:144:58
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn selected<'a>(&'a self) -> Box<dyn Iterator<Item = &Self::Solution> + 'a> {
[INFO] [stdout]     |                      -- the lifetime is named here       ^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn selected<'a>(&'a self) -> Box<dyn Iterator<Item = &'a Self::Solution> + 'a> {
[INFO] [stdout]     |                                                           ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/../tests/helpers/models/domain.rs:101:1
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub fn get_sorted_customer_ids_from_jobs(jobs: &[Job]) -> Vec<String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/solver/mod.rs:148:56
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn ranked<'a>(&'a self) -> Box<dyn Iterator<Item = &Self::Solution> + 'a> {
[INFO] [stdout]     |                    -- the lifetime is named here       ^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 148 |     fn ranked<'a>(&'a self) -> Box<dyn Iterator<Item = &'a Self::Solution> + 'a> {
[INFO] [stdout]     |                                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/../tests/helpers/models/domain.rs:107:1
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub fn get_customer_ids_from_jobs(jobs: &[Job]) -> Vec<String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/../tests/helpers/models/domain.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn get_customer_ids_from_routes(insertion_ctx: &InsertionContext) -> Vec<Vec<String>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/../tests/helpers/models/domain.rs:129:1
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn get_customer_ids_from_unassigned(insertion_ctx: &InsertionContext) -> Vec<String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/../tests/helpers/models/domain.rs:137:1
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn get_customer_id(job: &Job) -> String {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/../tests/helpers/models/problem/costs.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct TestTransportCost {}
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/costs.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn new_shared() -> Arc<dyn TransportCost + Sync + Send> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/costs.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn fake_routing(from: Location, to: Location) -> Float {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/../tests/helpers/models/problem/costs.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct TestActivityCost {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/costs.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn new_shared() -> Arc<dyn ActivityCost + Sync + Send> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/../tests/helpers/models/problem/fleet.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const DEFAULT_ACTOR_LOCATION: Location = 0;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/../tests/helpers/models/problem/fleet.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const DEFAULT_ACTOR_TIME_WINDOW: TimeWindow = TimeWindow { start: 0.0, end: 1000.0 };
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/../tests/helpers/models/problem/fleet.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const DEFAULT_VEHICLE_COSTS: Costs =
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn test_costs() -> Costs {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn fixed_costs() -> Costs {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn empty_costs() -> Costs {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn test_driver() -> Driver {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn test_driver_with_costs(costs: Costs) -> Driver {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub fn test_vehicle_detail() -> VehicleDetail {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn test_vehicle(profile_idx: usize) -> Vehicle {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn test_ovrp_vehicle(id: &str) -> Vehicle {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn test_fleet() -> Fleet {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn test_vehicle_with_id(id: &str) -> Vehicle {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn get_vehicle_id(vehicle: &Vehicle) -> &String {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:73:1
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn get_test_actor_from_fleet(fleet: &Fleet, vehicle_id: &str) -> Arc<Actor> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct TestVehicleBuilder(Vehicle);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn id(&mut self, id: &str) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn profile(&mut self, profile: Profile) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/problem/fleet.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn capacity(&mut self, capacity: i32) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/problem/fleet.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn capacity_mult(&mut self, capacity: Vec<i32>) -> &mut Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/problem/fleet.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn costs(&mut self, costs: Costs) -> &mut Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/problem/fleet.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn details(&mut self, details: Vec<VehicleDetail>) -> &mut Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/problem/fleet.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn property<K: 'static, T: 'static + Sync + Send>(&mut self, value: T) -> &mut Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/problem/fleet.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn dimens_mut(&mut self) -> &mut Dimensions {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/problem/fleet.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn build(&mut self) -> Vehicle {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]    --> src/../tests/helpers/models/problem/fleet.rs:130:1
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub type GroupKeyFn = Box<dyn Fn(&[Arc<Actor>]) -> Box<dyn Fn(&Actor) -> usize + Send + Sync>>;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/../tests/helpers/models/problem/fleet.rs:133:1
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct FleetBuilder {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/problem/fleet.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn add_driver(&mut self, driver: Driver) -> &mut FleetBuilder {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/problem/fleet.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub fn add_vehicle(&mut self, vehicle: Vehicle) -> &mut FleetBuilder {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/problem/fleet.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn add_vehicles(&mut self, vehicles: Vec<Vehicle>) -> &mut FleetBuilder {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/problem/fleet.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub fn with_group_key_fn(&mut self, group_key_fn: GroupKeyFn) -> &mut FleetBuilder {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/problem/fleet.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn build(&mut self) -> Fleet {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/../tests/helpers/models/problem/fleet.rs:177:1
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub fn create_details_actor_groups(actors: &[Arc<Actor>]) -> impl Fn(&Actor) -> usize + Send + Sync {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/../tests/helpers/models/problem/jobs.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const DEFAULT_JOB_LOCATION: Location = 0;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/../tests/helpers/models/problem/jobs.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const DEFAULT_JOB_DURATION: Duration = 0.0;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/../tests/helpers/models/problem/jobs.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const DEFAULT_JOB_TIME_SPAN: TimeSpan = TimeSpan::Window(TimeWindow { start: 0., end: 1000. });
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const DEFAULT_ACTIVITY_TIME_WINDOW: TimeWindow = TimeWindow { start: 0., end: 1000. };
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub type TestPlace = (Option<Location>, Duration, Vec<(Float, Float)>);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn test_multi_with_id(id: &str, jobs: Vec<Arc<Single>>) -> Arc<Multi> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn test_multi_job_with_locations(locations: Vec<Vec<Option<Location>>>) -> Arc<Multi> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn test_multi_with_permutations(id: &str, jobs: Vec<Arc<Single>>, permutations: Vec<Vec<usize>>) -> Arc<Multi> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn get_job_id(job: &Job) -> &String {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct TestSingleBuilder(Single);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn with_locations(locations: Vec<Option<Location>>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn id(&mut self, id: &str) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn property<K: 'static, T: 'static + Sync + Send>(&mut self, value: T) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn dimens(&mut self, dimens: Dimensions) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn location(&mut self, loc: Option<Location>) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn duration(&mut self, dur: Duration) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn times(&mut self, times: Vec<TimeWindow>) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn demand<T: LoadOps>(&mut self, demand: Demand<T>) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/problem/jobs.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn places(&mut self, places: Vec<TestPlace>) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/problem/jobs.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn dimens_mut(&mut self) -> &mut Dimensions {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/problem/jobs.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn build(&mut self) -> Single {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/problem/jobs.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn build_shared(&mut self) -> Arc<Single> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/problem/jobs.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn build_as_job_ref(&mut self) -> Job {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/../tests/helpers/models/solution/actor.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn test_actor() -> Arc<Actor> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/solution/actor.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn test_actor_with_profile(profile_idx: usize) -> Arc<Actor> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/models/solution/actor.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn create_test_registry() -> Registry {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/../tests/helpers/models/solution/route.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const DEFAULT_ACTIVITY_SCHEDULE: Schedule = Schedule { departure: 0.0, arrival: 0.0 };
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/../tests/helpers/models/solution/route.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct RouteContextBuilder(RouteContext);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/solution/route.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn with_route(&mut self, route: Route) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/solution/route.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn with_state(&mut self, state: RouteState) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/solution/route.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn build(&mut self) -> RouteContext {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/../tests/helpers/models/solution/route.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct RouteBuilder(Route);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/solution/route.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn add_activity(&mut self, activity: Activity) -> &mut Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/../tests/helpers/models/solution/route.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 | /     pub fn with_activity<F>(&mut self, configure: F) -> &mut Self
[INFO] [stdout] 92 | |     where
[INFO] [stdout] 93 | |         F: FnOnce(&mut Activity),
[INFO] [stdout]    | |_________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/solution/route.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn build(&mut self) -> Route {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/../tests/helpers/models/solution/route.rs:107:1
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct RouteStateBuilder {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/solution/route.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn set_route_state<F: Fn(&mut RouteState)>(&mut self, func: F) -> &mut Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/solution/route.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn build(&mut self) -> RouteState {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/../tests/helpers/models/solution/route.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct ActivityBuilder(Activity);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/../tests/helpers/models/solution/route.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn with_location(location: Location) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/../tests/helpers/models/solution/route.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub fn with_location_and_tw(location: Location, tw: TimeWindow) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/../tests/helpers/models/solution/route.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn with_location_tw_and_duration(location: Location, tw: TimeWindow, duration: Duration) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/solution/route.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub fn place(&mut self, place: Place) -> &mut Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/solution/route.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub fn schedule(&mut self, schedule: Schedule) -> &mut Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/solution/route.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn job(&mut self, job: Option<Arc<Single>>) -> &mut Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/../tests/helpers/models/solution/route.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn build(&mut self) -> Activity {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/solver/mod.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn create_default_refinement_ctx(problem: Arc<Problem>) -> RefinementContext {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/solver/mod.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn generate_matrix_distances_from_points(points: &[Point]) -> Vec<Float> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/../tests/helpers/solver/mod.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | / pub fn generate_matrix_routes_with_disallow_list(
[INFO] [stdout] 59 | |     rows: usize,
[INFO] [stdout] 60 | |     cols: usize,
[INFO] [stdout] 61 | |     is_open_vrp: bool,
[INFO] [stdout] 62 | |     disallowed_pairs: Vec<(&str, &str)>,
[INFO] [stdout] 63 | | ) -> (Problem, Solution) {
[INFO] [stdout]    | |________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/../tests/helpers/utils/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod random;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/../tests/helpers/utils/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn create_test_environment_with_random(random: Arc<dyn Random>) -> Arc<Environment> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/../tests/helpers/utils/random.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct FakeRandom {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/../tests/helpers/utils/random.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new(ints: Vec<i32>, reals: Vec<Float>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::ops::ControlFlow` that must be used
[INFO] [stdout]    --> src/construction/enablers/feature_combinator.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 | /         self.states.iter().try_for_each(|state| {
[INFO] [stdout] 125 | |             let previous_state = (ctx.required.len(), ctx.ignored.len(), ctx.unassigned.len());
[INFO] [stdout] 126 | |
[INFO] [stdout] 127 | |             state.accept_solution_state(ctx);
[INFO] [stdout] ...   |
[INFO] [stdout] 134 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 124 |         let _ = self.states.iter().try_for_each(|state| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 25.55s
[INFO] running `Command { std: "docker" "inspect" "1e3396ca99b5696077878e28ce3047869a22299fa08fda20787040e337d6bdf6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e3396ca99b5696077878e28ce3047869a22299fa08fda20787040e337d6bdf6", kill_on_drop: false }`
[INFO] [stdout] 1e3396ca99b5696077878e28ce3047869a22299fa08fda20787040e337d6bdf6
