[INFO] fetching crate rene 0.1.0...
[INFO] testing rene-0.1.0 against 1.78.0 for beta-1.79-2
[INFO] extracting crate rene 0.1.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate rene 0.1.0 on toolchain 1.78.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.78.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-0-tc1/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate rene 0.1.0
[INFO] finished tweaking crates.io crate rene 0.1.0
[INFO] tweaked toml for crates.io crate rene 0.1.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.78.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.78.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pyo3-macros v0.19.2
[INFO] [stderr]   Downloaded rithm v14.0.0
[INFO] [stderr]   Downloaded indoc v1.0.9
[INFO] [stderr]   Downloaded memoffset v0.9.1
[INFO] [stderr]   Downloaded pyo3 v0.19.2
[INFO] [stderr]   Downloaded redox_syscall v0.5.1
[INFO] [stderr]   Downloaded parking_lot_core v0.9.10
[INFO] [stderr]   Downloaded parking_lot v0.12.2
[INFO] [stderr]   Downloaded pyo3-macros-backend v0.19.2
[INFO] [stderr]   Downloaded unindent v0.1.11
[INFO] [stderr]   Downloaded pyo3-build-config v0.19.2
[INFO] [stderr]   Downloaded pyo3-ffi v0.19.2
[INFO] [stderr]   Downloaded traiter v4.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+1.78.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2c5edfe731a9ffbf92a67b1fbdc52baa63ca01e5efc523fe069e608b07c395d9
[INFO] running `Command { std: "docker" "start" "-a" "2c5edfe731a9ffbf92a67b1fbdc52baa63ca01e5efc523fe069e608b07c395d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c5edfe731a9ffbf92a67b1fbdc52baa63ca01e5efc523fe069e608b07c395d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c5edfe731a9ffbf92a67b1fbdc52baa63ca01e5efc523fe069e608b07c395d9", kill_on_drop: false }`
[INFO] [stdout] 2c5edfe731a9ffbf92a67b1fbdc52baa63ca01e5efc523fe069e608b07c395d9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+1.78.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 52e6786c414e0269fcd61f590852a0a2bb3353f000c5128d462a8efd8c9cb619
[INFO] running `Command { std: "docker" "start" "-a" "52e6786c414e0269fcd61f590852a0a2bb3353f000c5128d462a8efd8c9cb619", kill_on_drop: false }`
[INFO] [stderr]    Compiling target-lexicon v0.12.14
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.82
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling indoc v1.0.9
[INFO] [stderr]    Compiling unindent v0.1.11
[INFO] [stderr]    Compiling traiter v4.0.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling pyo3-build-config v0.19.2
[INFO] [stderr]    Compiling parking_lot v0.12.2
[INFO] [stderr]    Compiling pyo3-ffi v0.19.2
[INFO] [stderr]    Compiling pyo3 v0.19.2
[INFO] [stderr]    Compiling rithm v14.0.0
[INFO] [stderr]    Compiling rene v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling pyo3-macros-backend v0.19.2
[INFO] [stderr]    Compiling pyo3-macros v0.19.2
[INFO] [stdout] warning: unused import: `to_unique_non_crossing_or_overlapping_segments`
[INFO] [stdout]  --> src/bentley_ottmann/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     to_unique_non_crossing_or_overlapping_segments,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `point`
[INFO] [stdout]     --> src/lib.rs:1320:22
[INFO] [stdout]      |
[INFO] [stdout] 1320 |     fn locate(&self, point: &PyExactPoint, py: Python) -> PyResult<&PyAny> {
[INFO] [stdout]      |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_point`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Count` is never used
[INFO] [stdout]    --> src/lib.rs:184:7
[INFO] [stdout]     |
[INFO] [stdout] 184 | trait Count<T> {
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_unique_non_crossing_or_overlapping_segments` is never used
[INFO] [stdout]   --> src/bentley_ottmann/base.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub(crate) fn to_unique_non_crossing_or_overlapping_segments<
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 49.69s
[INFO] running `Command { std: "docker" "inspect" "52e6786c414e0269fcd61f590852a0a2bb3353f000c5128d462a8efd8c9cb619", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52e6786c414e0269fcd61f590852a0a2bb3353f000c5128d462a8efd8c9cb619", kill_on_drop: false }`
[INFO] [stdout] 52e6786c414e0269fcd61f590852a0a2bb3353f000c5128d462a8efd8c9cb619
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+1.78.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b2571e55448a3a1ff03067da6b959275e50eb46e4eb6299be71f6ba97b11a5b3
[INFO] running `Command { std: "docker" "start" "-a" "b2571e55448a3a1ff03067da6b959275e50eb46e4eb6299be71f6ba97b11a5b3", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `to_unique_non_crossing_or_overlapping_segments`
[INFO] [stdout]  --> src/bentley_ottmann/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     to_unique_non_crossing_or_overlapping_segments,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rene v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `point`
[INFO] [stdout]     --> src/lib.rs:1320:22
[INFO] [stdout]      |
[INFO] [stdout] 1320 |     fn locate(&self, point: &PyExactPoint, py: Python) -> PyResult<&PyAny> {
[INFO] [stdout]      |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_point`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Count` is never used
[INFO] [stdout]    --> src/lib.rs:184:7
[INFO] [stdout]     |
[INFO] [stdout] 184 | trait Count<T> {
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_unique_non_crossing_or_overlapping_segments` is never used
[INFO] [stdout]   --> src/bentley_ottmann/base.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub(crate) fn to_unique_non_crossing_or_overlapping_segments<
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `to_unique_non_crossing_or_overlapping_segments`
[INFO] [stdout]  --> src/bentley_ottmann/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     to_unique_non_crossing_or_overlapping_segments,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `point`
[INFO] [stdout]     --> src/lib.rs:1320:22
[INFO] [stdout]      |
[INFO] [stdout] 1320 |     fn locate(&self, point: &PyExactPoint, py: Python) -> PyResult<&PyAny> {
[INFO] [stdout]      |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_point`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Count` is never used
[INFO] [stdout]    --> src/lib.rs:184:7
[INFO] [stdout]     |
[INFO] [stdout] 184 | trait Count<T> {
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_unique_non_crossing_or_overlapping_segments` is never used
[INFO] [stdout]   --> src/bentley_ottmann/base.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub(crate) fn to_unique_non_crossing_or_overlapping_segments<
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 16.63s
[INFO] running `Command { std: "docker" "inspect" "b2571e55448a3a1ff03067da6b959275e50eb46e4eb6299be71f6ba97b11a5b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2571e55448a3a1ff03067da6b959275e50eb46e4eb6299be71f6ba97b11a5b3", kill_on_drop: false }`
[INFO] [stdout] b2571e55448a3a1ff03067da6b959275e50eb46e4eb6299be71f6ba97b11a5b3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+1.78.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c7c9d69f2f5b1e18e8bf9eb9f52a1b0d611052b52801183dbdda391fd5cd3ebe
[INFO] running `Command { std: "docker" "start" "-a" "c7c9d69f2f5b1e18e8bf9eb9f52a1b0d611052b52801183dbdda391fd5cd3ebe", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `to_unique_non_crossing_or_overlapping_segments`
[INFO] [stderr]  --> src/bentley_ottmann/mod.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     to_unique_non_crossing_or_overlapping_segments,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `point`
[INFO] [stderr]     --> src/lib.rs:1320:22
[INFO] [stderr]      |
[INFO] [stderr] 1320 |     fn locate(&self, point: &PyExactPoint, py: Python) -> PyResult<&PyAny> {
[INFO] [stderr]      |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_point`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Count` is never used
[INFO] [stderr]    --> src/lib.rs:184:7
[INFO] [stderr]     |
[INFO] [stderr] 184 | trait Count<T> {
[INFO] [stderr]     |       ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `to_unique_non_crossing_or_overlapping_segments` is never used
[INFO] [stderr]   --> src/bentley_ottmann/base.rs:97:15
[INFO] [stderr]    |
[INFO] [stderr] 97 | pub(crate) fn to_unique_non_crossing_or_overlapping_segments<
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `rene` (lib) generated 4 warnings (run `cargo fix --lib -p rene` to apply 1 suggestion)
[INFO] [stderr] warning: `rene` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rene-1f086a8e38345b0b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rene
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c7c9d69f2f5b1e18e8bf9eb9f52a1b0d611052b52801183dbdda391fd5cd3ebe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c7c9d69f2f5b1e18e8bf9eb9f52a1b0d611052b52801183dbdda391fd5cd3ebe", kill_on_drop: false }`
[INFO] [stdout] c7c9d69f2f5b1e18e8bf9eb9f52a1b0d611052b52801183dbdda391fd5cd3ebe
[INFO] testing rene-0.1.0 against beta-2024-05-11 for beta-1.79-2
[INFO] extracting crate rene 0.1.0 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate rene 0.1.0 on toolchain beta-2024-05-11
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-05-11" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-0-tc2/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate rene 0.1.0
[INFO] finished tweaking crates.io crate rene 0.1.0
[INFO] tweaked toml for crates.io crate rene 0.1.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-05-11" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 36 packages to latest compatible versions
[INFO] [stderr]       Adding indoc v1.0.9 (latest: v2.0.5)
[INFO] [stderr]       Adding pyo3 v0.19.2 (latest: v0.21.2)
[INFO] [stderr]       Adding pyo3-build-config v0.19.2 (latest: v0.21.2)
[INFO] [stderr]       Adding pyo3-ffi v0.19.2 (latest: v0.21.2)
[INFO] [stderr]       Adding pyo3-macros v0.19.2 (latest: v0.21.2)
[INFO] [stderr]       Adding pyo3-macros-backend v0.19.2 (latest: v0.21.2)
[INFO] [stderr]       Adding rithm v14.0.0 (latest: v14.1.0)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.63)
[INFO] [stderr]       Adding unindent v0.1.11 (latest: v0.2.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-05-11" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-05-11" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a0b156c97022380a29f1a1f055b405d28d9352c1efa4a88a0f16c03a5c74cdd1
[INFO] running `Command { std: "docker" "start" "-a" "a0b156c97022380a29f1a1f055b405d28d9352c1efa4a88a0f16c03a5c74cdd1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a0b156c97022380a29f1a1f055b405d28d9352c1efa4a88a0f16c03a5c74cdd1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a0b156c97022380a29f1a1f055b405d28d9352c1efa4a88a0f16c03a5c74cdd1", kill_on_drop: false }`
[INFO] [stdout] a0b156c97022380a29f1a1f055b405d28d9352c1efa4a88a0f16c03a5c74cdd1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-05-11" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 626396ae487061ad46d668ec97f3868a9cc23cb2702d29c337bb5669085ff49e
[INFO] running `Command { std: "docker" "start" "-a" "626396ae487061ad46d668ec97f3868a9cc23cb2702d29c337bb5669085ff49e", kill_on_drop: false }`
[INFO] [stderr]    Compiling target-lexicon v0.12.14
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.82
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling unindent v0.1.11
[INFO] [stderr]    Compiling indoc v1.0.9
[INFO] [stderr]    Compiling traiter v4.0.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling pyo3-build-config v0.19.2
[INFO] [stderr]    Compiling parking_lot v0.12.2
[INFO] [stderr]    Compiling pyo3-ffi v0.19.2
[INFO] [stderr]    Compiling pyo3 v0.19.2
[INFO] [stderr]    Compiling rithm v14.0.0
[INFO] [stderr]    Compiling rene v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling pyo3-macros-backend v0.19.2
[INFO] [stderr]    Compiling pyo3-macros v0.19.2
[INFO] [stdout] warning: unused import: `to_unique_non_crossing_or_overlapping_segments`
[INFO] [stdout]  --> src/bentley_ottmann/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     to_unique_non_crossing_or_overlapping_segments,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]   --> src/geometries/contour/difference.rs:88:43
[INFO] [stdout]    |
[INFO] [stdout] 88 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]    |  ___________________________________________^
[INFO] [stdout] 89 | |             &bounding_boxes,
[INFO] [stdout] 90 | |             &other_bounding_box,
[INFO] [stdout] 91 | |         );
[INFO] [stdout]    | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]    = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/difference.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 74  |       fn difference(self, other: Self) -> Self::Output {
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                     has type `&'1 Contour<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 103 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 104 | |                 &other_bounding_boxes,
[INFO] [stdout] 105 | |                 &bounding_box,
[INFO] [stdout] 106 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`self` escapes the method body here
[INFO] [stdout]     |               argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/difference.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 104 | |                 &other_bounding_boxes,
[INFO] [stdout] 105 | |                 &bounding_box,
[INFO] [stdout] 106 | |             );
[INFO] [stdout]     | |_____________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/difference.rs:185:43
[INFO] [stdout]     |
[INFO] [stdout] 171 |       fn difference(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                           -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 185 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 186 | |             &bounding_boxes,
[INFO] [stdout] 187 | |             &other_bounding_box,
[INFO] [stdout] 188 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/difference.rs:185:43
[INFO] [stdout]     |
[INFO] [stdout] 185 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 186 | |             &bounding_boxes,
[INFO] [stdout] 187 | |             &other_bounding_box,
[INFO] [stdout] 188 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_polygons` does not live long enough
[INFO] [stdout]    --> src/geometries/contour/difference.rs:195:36
[INFO] [stdout]     |
[INFO] [stdout] 194 |           let other_polygons = other.polygons();
[INFO] [stdout]     |               -------------- binding `other_polygons` declared here
[INFO] [stdout] 195 |           let other_bounding_boxes = other_polygons
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 200 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 201 | |                 &other_bounding_boxes,
[INFO] [stdout] 202 | |                 &bounding_box,
[INFO] [stdout] 203 | |             );
[INFO] [stdout]     | |_____________- argument requires that `other_polygons` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 251 |       }
[INFO] [stdout]     |       - `other_polygons` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/difference.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |       fn difference(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                     has type `&'1 Contour<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 200 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 201 | |                 &other_bounding_boxes,
[INFO] [stdout] 202 | |                 &bounding_box,
[INFO] [stdout] 203 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`self` escapes the method body here
[INFO] [stdout]     |               argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/difference.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 201 | |                 &other_bounding_boxes,
[INFO] [stdout] 202 | |                 &bounding_box,
[INFO] [stdout] 203 | |             );
[INFO] [stdout]     | |_____________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/difference.rs:281:43
[INFO] [stdout]     |
[INFO] [stdout] 267 |       fn difference(self, other: &Multisegment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                           -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 281 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 282 | |             &bounding_boxes,
[INFO] [stdout] 283 | |             &other_bounding_box,
[INFO] [stdout] 284 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/difference.rs:281:43
[INFO] [stdout]     |
[INFO] [stdout] 281 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 282 | |             &bounding_boxes,
[INFO] [stdout] 283 | |             &other_bounding_box,
[INFO] [stdout] 284 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_segments` does not live long enough
[INFO] [stdout]    --> src/geometries/contour/difference.rs:291:36
[INFO] [stdout]     |
[INFO] [stdout] 290 |           let other_segments = other.segments();
[INFO] [stdout]     |               -------------- binding `other_segments` declared here
[INFO] [stdout] 291 |           let other_bounding_boxes = other_segments
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 296 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 297 | |                 &other_bounding_boxes,
[INFO] [stdout] 298 | |                 &bounding_box,
[INFO] [stdout] 299 | |             );
[INFO] [stdout]     | |_____________- argument requires that `other_segments` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 346 |       }
[INFO] [stdout]     |       - `other_segments` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/difference.rs:296:13
[INFO] [stdout]     |
[INFO] [stdout] 267 |       fn difference(self, other: &Multisegment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                     has type `&'1 Contour<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 296 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 297 | |                 &other_bounding_boxes,
[INFO] [stdout] 298 | |                 &bounding_box,
[INFO] [stdout] 299 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`self` escapes the method body here
[INFO] [stdout]     |               argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/difference.rs:296:13
[INFO] [stdout]     |
[INFO] [stdout] 296 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 297 | |                 &other_bounding_boxes,
[INFO] [stdout] 298 | |                 &bounding_box,
[INFO] [stdout] 299 | |             );
[INFO] [stdout]     | |_____________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/difference.rs:377:43
[INFO] [stdout]     |
[INFO] [stdout] 363 |       fn difference(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                     has type `&'1 Contour<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 377 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 378 | |             &bounding_boxes,
[INFO] [stdout] 379 | |             &other_bounding_box,
[INFO] [stdout] 380 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/difference.rs:377:43
[INFO] [stdout]     |
[INFO] [stdout] 363 |       fn difference(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                           -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 377 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 378 | |             &bounding_boxes,
[INFO] [stdout] 379 | |             &other_bounding_box,
[INFO] [stdout] 380 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/difference.rs:377:43
[INFO] [stdout]     |
[INFO] [stdout] 377 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 378 | |             &bounding_boxes,
[INFO] [stdout] 379 | |             &other_bounding_box,
[INFO] [stdout] 380 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/intersection.rs:114:45
[INFO] [stdout]     |
[INFO] [stdout] 100 |       fn intersection(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                             -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 114 |           let common_continuum_segments_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 115 | |             &bounding_boxes,
[INFO] [stdout] 116 | |             &other_bounding_box,
[INFO] [stdout] 117 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/intersection.rs:114:45
[INFO] [stdout]     |
[INFO] [stdout] 114 |           let common_continuum_segments_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 115 | |             &bounding_boxes,
[INFO] [stdout] 116 | |             &other_bounding_box,
[INFO] [stdout] 117 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_polygons` does not live long enough
[INFO] [stdout]    --> src/geometries/contour/intersection.rs:122:36
[INFO] [stdout]     |
[INFO] [stdout] 121 |           let other_polygons = other.polygons();
[INFO] [stdout]     |               -------------- binding `other_polygons` declared here
[INFO] [stdout] 122 |           let other_bounding_boxes = other_polygons
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 127 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 128 | |                 &other_bounding_boxes,
[INFO] [stdout] 129 | |                 &bounding_box,
[INFO] [stdout] 130 | |             );
[INFO] [stdout]     | |_____________- argument requires that `other_polygons` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 178 |       }
[INFO] [stdout]     |       - `other_polygons` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/intersection.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |       fn intersection(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                       has type `&'1 Contour<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 127 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 128 | |                 &other_bounding_boxes,
[INFO] [stdout] 129 | |                 &bounding_box,
[INFO] [stdout] 130 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`self` escapes the method body here
[INFO] [stdout]     |               argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/intersection.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 128 | |                 &other_bounding_boxes,
[INFO] [stdout] 129 | |                 &bounding_box,
[INFO] [stdout] 130 | |             );
[INFO] [stdout]     | |_____________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/intersection.rs:239:45
[INFO] [stdout]     |
[INFO] [stdout] 225 |       fn intersection(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                       has type `&'1 Contour<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 239 |           let common_continuum_segments_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 240 | |             &bounding_boxes,
[INFO] [stdout] 241 | |             &other_bounding_box,
[INFO] [stdout] 242 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/intersection.rs:239:45
[INFO] [stdout]     |
[INFO] [stdout] 225 |       fn intersection(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                             -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 239 |           let common_continuum_segments_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 240 | |             &bounding_boxes,
[INFO] [stdout] 241 | |             &other_bounding_box,
[INFO] [stdout] 242 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/intersection.rs:239:45
[INFO] [stdout]     |
[INFO] [stdout] 239 |           let common_continuum_segments_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 240 | |             &bounding_boxes,
[INFO] [stdout] 241 | |             &other_bounding_box,
[INFO] [stdout] 242 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]   --> src/geometries/contour/symmetric_difference.rs:86:43
[INFO] [stdout]    |
[INFO] [stdout] 86 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]    |  ___________________________________________^
[INFO] [stdout] 87 | |             &bounding_boxes,
[INFO] [stdout] 88 | |             &other_bounding_box,
[INFO] [stdout] 89 | |         );
[INFO] [stdout]    | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]    = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/symmetric_difference.rs:102:49
[INFO] [stdout]     |
[INFO] [stdout] 70  |       fn symmetric_difference(self, other: Self) -> Self::Output {
[INFO] [stdout]     |                               ----
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                               has type `&'1 Contour<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 102 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 103 | |             &other_bounding_boxes,
[INFO] [stdout] 104 | |             &bounding_box,
[INFO] [stdout] 105 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/symmetric_difference.rs:102:49
[INFO] [stdout]     |
[INFO] [stdout] 102 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 103 | |             &other_bounding_boxes,
[INFO] [stdout] 104 | |             &bounding_box,
[INFO] [stdout] 105 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/symmetric_difference.rs:194:43
[INFO] [stdout]     |
[INFO] [stdout] 176 |           other: &Multisegment<Scalar>,
[INFO] [stdout]     |           -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 194 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 195 | |             &bounding_boxes,
[INFO] [stdout] 196 | |             &other_bounding_box,
[INFO] [stdout] 197 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/symmetric_difference.rs:194:43
[INFO] [stdout]     |
[INFO] [stdout] 194 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 195 | |             &bounding_boxes,
[INFO] [stdout] 196 | |             &other_bounding_box,
[INFO] [stdout] 197 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_segments` does not live long enough
[INFO] [stdout]    --> src/geometries/contour/symmetric_difference.rs:205:36
[INFO] [stdout]     |
[INFO] [stdout] 180 |           let other_segments = other.segments();
[INFO] [stdout]     |               -------------- binding `other_segments` declared here
[INFO] [stdout] ...
[INFO] [stdout] 205 |           let other_bounding_boxes = other_segments
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 209 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________-
[INFO] [stdout] 210 | |             &other_bounding_boxes,
[INFO] [stdout] 211 | |             &bounding_box,
[INFO] [stdout] 212 | |         );
[INFO] [stdout]     | |_________- argument requires that `other_segments` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 261 |       }
[INFO] [stdout]     |       - `other_segments` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/symmetric_difference.rs:209:49
[INFO] [stdout]     |
[INFO] [stdout] 175 |           self,
[INFO] [stdout]     |           ----
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `self` is a reference that is only valid in the method body
[INFO] [stdout]     |           has type `&'1 Contour<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 209 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 210 | |             &other_bounding_boxes,
[INFO] [stdout] 211 | |             &bounding_box,
[INFO] [stdout] 212 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/symmetric_difference.rs:209:49
[INFO] [stdout]     |
[INFO] [stdout] 209 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 210 | |             &other_bounding_boxes,
[INFO] [stdout] 211 | |             &bounding_box,
[INFO] [stdout] 212 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/symmetric_difference.rs:294:43
[INFO] [stdout]     |
[INFO] [stdout] 278 |       fn symmetric_difference(self, other: &Segment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                               ----
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                               has type `&'1 Contour<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 294 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 295 | |             &bounding_boxes,
[INFO] [stdout] 296 | |             &other_bounding_box,
[INFO] [stdout] 297 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/symmetric_difference.rs:294:43
[INFO] [stdout]     |
[INFO] [stdout] 278 |       fn symmetric_difference(self, other: &Segment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                                     -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 294 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 295 | |             &bounding_boxes,
[INFO] [stdout] 296 | |             &other_bounding_box,
[INFO] [stdout] 297 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/symmetric_difference.rs:294:43
[INFO] [stdout]     |
[INFO] [stdout] 294 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 295 | |             &bounding_boxes,
[INFO] [stdout] 296 | |             &other_bounding_box,
[INFO] [stdout] 297 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]   --> src/geometries/contour/union.rs:88:43
[INFO] [stdout]    |
[INFO] [stdout] 88 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]    |  ___________________________________________^
[INFO] [stdout] 89 | |             &bounding_boxes,
[INFO] [stdout] 90 | |             &other_bounding_box,
[INFO] [stdout] 91 | |         );
[INFO] [stdout]    | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]    = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/union.rs:104:49
[INFO] [stdout]     |
[INFO] [stdout] 72  |       fn union(self, other: Self) -> Self::Output {
[INFO] [stdout]     |                ----
[INFO] [stdout]     |                |
[INFO] [stdout]     |                `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                has type `&'1 Contour<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 104 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 105 | |             &other_bounding_boxes,
[INFO] [stdout] 106 | |             &bounding_box,
[INFO] [stdout] 107 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/union.rs:104:49
[INFO] [stdout]     |
[INFO] [stdout] 104 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 105 | |             &other_bounding_boxes,
[INFO] [stdout] 106 | |             &bounding_box,
[INFO] [stdout] 107 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/union.rs:194:43
[INFO] [stdout]     |
[INFO] [stdout] 177 |       fn union(self, other: &Multisegment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                      -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 194 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 195 | |             &bounding_boxes,
[INFO] [stdout] 196 | |             &other_bounding_box,
[INFO] [stdout] 197 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/union.rs:194:43
[INFO] [stdout]     |
[INFO] [stdout] 194 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 195 | |             &bounding_boxes,
[INFO] [stdout] 196 | |             &other_bounding_box,
[INFO] [stdout] 197 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_segments` does not live long enough
[INFO] [stdout]    --> src/geometries/contour/union.rs:205:36
[INFO] [stdout]     |
[INFO] [stdout] 180 |           let other_segments = other.segments();
[INFO] [stdout]     |               -------------- binding `other_segments` declared here
[INFO] [stdout] ...
[INFO] [stdout] 205 |           let other_bounding_boxes = other_segments
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 209 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________-
[INFO] [stdout] 210 | |             &other_bounding_boxes,
[INFO] [stdout] 211 | |             &bounding_box,
[INFO] [stdout] 212 | |         );
[INFO] [stdout]     | |_________- argument requires that `other_segments` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 262 |       }
[INFO] [stdout]     |       - `other_segments` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/contour/union.rs:209:49
[INFO] [stdout]     |
[INFO] [stdout] 177 |       fn union(self, other: &Multisegment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                ----
[INFO] [stdout]     |                |
[INFO] [stdout]     |                `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                has type `&'1 Contour<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 209 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 210 | |             &other_bounding_boxes,
[INFO] [stdout] 211 | |             &bounding_box,
[INFO] [stdout] 212 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/contour/union.rs:209:49
[INFO] [stdout]     |
[INFO] [stdout] 209 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 210 | |             &other_bounding_boxes,
[INFO] [stdout] 211 | |             &bounding_box,
[INFO] [stdout] 212 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]   --> src/geometries/multipolygon/difference.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |             to_boxes_have_common_area(&bounding_boxes, &other_bounding_box);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `Relatable` is not general enough
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]    = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/difference.rs:92:46
[INFO] [stdout]     |
[INFO] [stdout] 69  |       fn difference(self, other: Self) -> Self::Output {
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                     has type `&'1 Multipolygon<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 92  |           let other_common_area_polygons_ids = to_boxes_ids_with_common_area(
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 93  | |             &other_bounding_boxes,
[INFO] [stdout] 94  | |             &bounding_box,
[INFO] [stdout] 95  | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:582:39
[INFO] [stdout]     |
[INFO] [stdout] 582 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]   --> src/geometries/multipolygon/difference.rs:92:46
[INFO] [stdout]    |
[INFO] [stdout] 92 |           let other_common_area_polygons_ids = to_boxes_ids_with_common_area(
[INFO] [stdout]    |  ______________________________________________^
[INFO] [stdout] 93 | |             &other_bounding_boxes,
[INFO] [stdout] 94 | |             &bounding_box,
[INFO] [stdout] 95 | |         );
[INFO] [stdout]    | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]    = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/difference.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn difference(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                   ----
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                   has type `&'1 Multipolygon<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 168 |             to_boxes_have_common_area(&bounding_boxes, &other_bounding_box);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `self` escapes the method body here
[INFO] [stdout]     |             argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:552:39
[INFO] [stdout]     |
[INFO] [stdout] 552 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/difference.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn difference(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                         -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 168 |             to_boxes_have_common_area(&bounding_boxes, &other_bounding_box);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `other` escapes the method body here
[INFO] [stdout]     |             argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:552:39
[INFO] [stdout]     |
[INFO] [stdout] 552 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multipolygon/difference.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |             to_boxes_have_common_area(&bounding_boxes, &other_bounding_box);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]   --> src/geometries/multipolygon/intersection.rs:74:40
[INFO] [stdout]    |
[INFO] [stdout] 74 |           let common_area_polygons_ids = to_boxes_ids_with_common_area(
[INFO] [stdout]    |  ________________________________________^
[INFO] [stdout] 75 | |             &bounding_boxes,
[INFO] [stdout] 76 | |             &other_bounding_box,
[INFO] [stdout] 77 | |         );
[INFO] [stdout]    | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]    = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:86:46
[INFO] [stdout]     |
[INFO] [stdout] 63  |       fn intersection(self, other: Self) -> Self::Output {
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                       has type `&'1 Multipolygon<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 86  |           let other_common_area_polygons_ids = to_boxes_ids_with_common_area(
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 87  | |             &other_bounding_boxes,
[INFO] [stdout] 88  | |             &bounding_box,
[INFO] [stdout] 89  | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:582:39
[INFO] [stdout]     |
[INFO] [stdout] 582 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]   --> src/geometries/multipolygon/intersection.rs:86:46
[INFO] [stdout]    |
[INFO] [stdout] 86 |           let other_common_area_polygons_ids = to_boxes_ids_with_common_area(
[INFO] [stdout]    |  ______________________________________________^
[INFO] [stdout] 87 | |             &other_bounding_boxes,
[INFO] [stdout] 88 | |             &bounding_box,
[INFO] [stdout] 89 | |         );
[INFO] [stdout]    | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]    = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:164:45
[INFO] [stdout]     |
[INFO] [stdout] 150 |       fn intersection(self, other: &Contour<Scalar>) -> Self::Output {
[INFO] [stdout]     |                             -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 164 |           let common_continuum_polygons_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 165 | |             &bounding_boxes,
[INFO] [stdout] 166 | |             &other_bounding_box,
[INFO] [stdout] 167 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:164:45
[INFO] [stdout]     |
[INFO] [stdout] 164 |           let common_continuum_polygons_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 165 | |             &bounding_boxes,
[INFO] [stdout] 166 | |             &other_bounding_box,
[INFO] [stdout] 167 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_segments` does not live long enough
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:172:36
[INFO] [stdout]     |
[INFO] [stdout] 171 |           let other_segments = other.segments();
[INFO] [stdout]     |               -------------- binding `other_segments` declared here
[INFO] [stdout] 172 |           let other_bounding_boxes = other_segments
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 177 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 178 | |                 &other_bounding_boxes,
[INFO] [stdout] 179 | |                 &bounding_box,
[INFO] [stdout] 180 | |             );
[INFO] [stdout]     | |_____________- argument requires that `other_segments` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 228 |       }
[INFO] [stdout]     |       - `other_segments` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |       fn intersection(self, other: &Contour<Scalar>) -> Self::Output {
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                       has type `&'1 Multipolygon<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 177 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 178 | |                 &other_bounding_boxes,
[INFO] [stdout] 179 | |                 &bounding_box,
[INFO] [stdout] 180 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`self` escapes the method body here
[INFO] [stdout]     |               argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 177 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 178 | |                 &other_bounding_boxes,
[INFO] [stdout] 179 | |                 &bounding_box,
[INFO] [stdout] 180 | |             );
[INFO] [stdout]     | |_____________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:260:45
[INFO] [stdout]     |
[INFO] [stdout] 246 |       fn intersection(self, other: &Multisegment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                             -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 260 |           let common_continuum_polygons_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 261 | |             &bounding_boxes,
[INFO] [stdout] 262 | |             &other_bounding_box,
[INFO] [stdout] 263 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:260:45
[INFO] [stdout]     |
[INFO] [stdout] 260 |           let common_continuum_polygons_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 261 | |             &bounding_boxes,
[INFO] [stdout] 262 | |             &other_bounding_box,
[INFO] [stdout] 263 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_segments` does not live long enough
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:268:36
[INFO] [stdout]     |
[INFO] [stdout] 267 |           let other_segments = other.segments();
[INFO] [stdout]     |               -------------- binding `other_segments` declared here
[INFO] [stdout] 268 |           let other_bounding_boxes = other_segments
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 273 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 274 | |                 &other_bounding_boxes,
[INFO] [stdout] 275 | |                 &bounding_box,
[INFO] [stdout] 276 | |             );
[INFO] [stdout]     | |_____________- argument requires that `other_segments` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 324 |       }
[INFO] [stdout]     |       - `other_segments` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:273:13
[INFO] [stdout]     |
[INFO] [stdout] 246 |       fn intersection(self, other: &Multisegment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                       has type `&'1 Multipolygon<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 273 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 274 | |                 &other_bounding_boxes,
[INFO] [stdout] 275 | |                 &bounding_box,
[INFO] [stdout] 276 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`self` escapes the method body here
[INFO] [stdout]     |               argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:273:13
[INFO] [stdout]     |
[INFO] [stdout] 273 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 274 | |                 &other_bounding_boxes,
[INFO] [stdout] 275 | |                 &bounding_box,
[INFO] [stdout] 276 | |             );
[INFO] [stdout]     | |_____________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:351:40
[INFO] [stdout]     |
[INFO] [stdout] 340 |       fn intersection(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                       has type `&'1 Multipolygon<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 351 |           let common_area_polygons_ids = to_boxes_ids_with_common_area(
[INFO] [stdout]     |  ________________________________________^
[INFO] [stdout] 352 | |             &bounding_boxes,
[INFO] [stdout] 353 | |             &other_bounding_box,
[INFO] [stdout] 354 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:582:39
[INFO] [stdout]     |
[INFO] [stdout] 582 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:351:40
[INFO] [stdout]     |
[INFO] [stdout] 340 |       fn intersection(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                             -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 351 |           let common_area_polygons_ids = to_boxes_ids_with_common_area(
[INFO] [stdout]     |  ________________________________________^
[INFO] [stdout] 352 | |             &bounding_boxes,
[INFO] [stdout] 353 | |             &other_bounding_box,
[INFO] [stdout] 354 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:582:39
[INFO] [stdout]     |
[INFO] [stdout] 582 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:351:40
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let common_area_polygons_ids = to_boxes_ids_with_common_area(
[INFO] [stdout]     |  ________________________________________^
[INFO] [stdout] 352 | |             &bounding_boxes,
[INFO] [stdout] 353 | |             &other_bounding_box,
[INFO] [stdout] 354 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:418:45
[INFO] [stdout]     |
[INFO] [stdout] 404 |       fn intersection(self, other: &Segment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                       has type `&'1 Multipolygon<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 418 |           let common_continuum_polygons_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 419 | |             &bounding_boxes,
[INFO] [stdout] 420 | |             &other_bounding_box,
[INFO] [stdout] 421 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:418:45
[INFO] [stdout]     |
[INFO] [stdout] 404 |       fn intersection(self, other: &Segment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                             -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 418 |           let common_continuum_polygons_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 419 | |             &bounding_boxes,
[INFO] [stdout] 420 | |             &other_bounding_box,
[INFO] [stdout] 421 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multipolygon/intersection.rs:418:45
[INFO] [stdout]     |
[INFO] [stdout] 418 |           let common_continuum_polygons_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 419 | |             &bounding_boxes,
[INFO] [stdout] 420 | |             &other_bounding_box,
[INFO] [stdout] 421 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]   --> src/geometries/multipolygon/symmetric_difference.rs:84:43
[INFO] [stdout]    |
[INFO] [stdout] 84 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]    |  ___________________________________________^
[INFO] [stdout] 85 | |             &bounding_boxes,
[INFO] [stdout] 86 | |             &other_bounding_box,
[INFO] [stdout] 87 | |         );
[INFO] [stdout]    | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]    = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/symmetric_difference.rs:100:49
[INFO] [stdout]     |
[INFO] [stdout] 68  |       fn symmetric_difference(self, other: Self) -> Self::Output {
[INFO] [stdout]     |                               ----
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                               has type `&'1 Multipolygon<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 100 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 101 | |             &other_bounding_boxes,
[INFO] [stdout] 102 | |             &bounding_box,
[INFO] [stdout] 103 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multipolygon/symmetric_difference.rs:100:49
[INFO] [stdout]     |
[INFO] [stdout] 100 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 101 | |             &other_bounding_boxes,
[INFO] [stdout] 102 | |             &bounding_box,
[INFO] [stdout] 103 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/symmetric_difference.rs:183:43
[INFO] [stdout]     |
[INFO] [stdout] 167 |       fn symmetric_difference(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                               ----
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                               has type `&'1 Multipolygon<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 183 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 184 | |             &bounding_boxes,
[INFO] [stdout] 185 | |             &other_bounding_box,
[INFO] [stdout] 186 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/symmetric_difference.rs:183:43
[INFO] [stdout]     |
[INFO] [stdout] 167 |       fn symmetric_difference(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                                     -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 183 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 184 | |             &bounding_boxes,
[INFO] [stdout] 185 | |             &other_bounding_box,
[INFO] [stdout] 186 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multipolygon/symmetric_difference.rs:183:43
[INFO] [stdout]     |
[INFO] [stdout] 183 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 184 | |             &bounding_boxes,
[INFO] [stdout] 185 | |             &other_bounding_box,
[INFO] [stdout] 186 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]   --> src/geometries/multipolygon/union.rs:84:43
[INFO] [stdout]    |
[INFO] [stdout] 84 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]    |  ___________________________________________^
[INFO] [stdout] 85 | |             &bounding_boxes,
[INFO] [stdout] 86 | |             &other_bounding_box,
[INFO] [stdout] 87 | |         );
[INFO] [stdout]    | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]    = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/union.rs:100:49
[INFO] [stdout]     |
[INFO] [stdout] 68  |       fn union(self, other: Self) -> Self::Output {
[INFO] [stdout]     |                ----
[INFO] [stdout]     |                |
[INFO] [stdout]     |                `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                has type `&'1 Multipolygon<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 100 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 101 | |             &other_bounding_boxes,
[INFO] [stdout] 102 | |             &bounding_box,
[INFO] [stdout] 103 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multipolygon/union.rs:100:49
[INFO] [stdout]     |
[INFO] [stdout] 100 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 101 | |             &other_bounding_boxes,
[INFO] [stdout] 102 | |             &bounding_box,
[INFO] [stdout] 103 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/union.rs:184:43
[INFO] [stdout]     |
[INFO] [stdout] 168 |       fn union(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                ----
[INFO] [stdout]     |                |
[INFO] [stdout]     |                `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                has type `&'1 Multipolygon<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 184 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 185 | |             &bounding_boxes,
[INFO] [stdout] 186 | |             &other_bounding_box,
[INFO] [stdout] 187 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multipolygon/union.rs:184:43
[INFO] [stdout]     |
[INFO] [stdout] 168 |       fn union(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                      -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 184 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 185 | |             &bounding_boxes,
[INFO] [stdout] 186 | |             &other_bounding_box,
[INFO] [stdout] 187 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multipolygon/union.rs:184:43
[INFO] [stdout]     |
[INFO] [stdout] 184 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 185 | |             &bounding_boxes,
[INFO] [stdout] 186 | |             &other_bounding_box,
[INFO] [stdout] 187 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]   --> src/geometries/multisegment/difference.rs:88:43
[INFO] [stdout]    |
[INFO] [stdout] 88 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]    |  ___________________________________________^
[INFO] [stdout] 89 | |             &bounding_boxes,
[INFO] [stdout] 90 | |             &other_bounding_box,
[INFO] [stdout] 91 | |         );
[INFO] [stdout]    | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]    = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/difference.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 74  |       fn difference(self, other: Self) -> Self::Output {
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                     has type `&'1 Multisegment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 103 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 104 | |                 &other_bounding_boxes,
[INFO] [stdout] 105 | |                 &bounding_box,
[INFO] [stdout] 106 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`self` escapes the method body here
[INFO] [stdout]     |               argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/difference.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 104 | |                 &other_bounding_boxes,
[INFO] [stdout] 105 | |                 &bounding_box,
[INFO] [stdout] 106 | |             );
[INFO] [stdout]     | |_____________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/difference.rs:184:43
[INFO] [stdout]     |
[INFO] [stdout] 170 |       fn difference(self, other: &Contour<Scalar>) -> Self::Output {
[INFO] [stdout]     |                           -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 184 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 185 | |             &bounding_boxes,
[INFO] [stdout] 186 | |             &other_bounding_box,
[INFO] [stdout] 187 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/difference.rs:184:43
[INFO] [stdout]     |
[INFO] [stdout] 184 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 185 | |             &bounding_boxes,
[INFO] [stdout] 186 | |             &other_bounding_box,
[INFO] [stdout] 187 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_segments` does not live long enough
[INFO] [stdout]    --> src/geometries/multisegment/difference.rs:194:36
[INFO] [stdout]     |
[INFO] [stdout] 193 |           let other_segments = other.segments();
[INFO] [stdout]     |               -------------- binding `other_segments` declared here
[INFO] [stdout] 194 |           let other_bounding_boxes = other_segments
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 199 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 200 | |                 &other_bounding_boxes,
[INFO] [stdout] 201 | |                 &bounding_box,
[INFO] [stdout] 202 | |             );
[INFO] [stdout]     | |_____________- argument requires that `other_segments` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 249 |       }
[INFO] [stdout]     |       - `other_segments` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/difference.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 170 |       fn difference(self, other: &Contour<Scalar>) -> Self::Output {
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                     has type `&'1 Multisegment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 199 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 200 | |                 &other_bounding_boxes,
[INFO] [stdout] 201 | |                 &bounding_box,
[INFO] [stdout] 202 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`self` escapes the method body here
[INFO] [stdout]     |               argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/difference.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 200 | |                 &other_bounding_boxes,
[INFO] [stdout] 201 | |                 &bounding_box,
[INFO] [stdout] 202 | |             );
[INFO] [stdout]     | |_____________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/difference.rs:281:43
[INFO] [stdout]     |
[INFO] [stdout] 267 |       fn difference(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                           -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 281 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 282 | |             &bounding_boxes,
[INFO] [stdout] 283 | |             &other_bounding_box,
[INFO] [stdout] 284 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/difference.rs:281:43
[INFO] [stdout]     |
[INFO] [stdout] 281 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 282 | |             &bounding_boxes,
[INFO] [stdout] 283 | |             &other_bounding_box,
[INFO] [stdout] 284 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_polygons` does not live long enough
[INFO] [stdout]    --> src/geometries/multisegment/difference.rs:291:36
[INFO] [stdout]     |
[INFO] [stdout] 290 |           let other_polygons = other.polygons();
[INFO] [stdout]     |               -------------- binding `other_polygons` declared here
[INFO] [stdout] 291 |           let other_bounding_boxes = other_polygons
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 296 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 297 | |                 &other_bounding_boxes,
[INFO] [stdout] 298 | |                 &bounding_box,
[INFO] [stdout] 299 | |             );
[INFO] [stdout]     | |_____________- argument requires that `other_polygons` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 347 |       }
[INFO] [stdout]     |       - `other_polygons` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/difference.rs:296:13
[INFO] [stdout]     |
[INFO] [stdout] 267 |       fn difference(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                     has type `&'1 Multisegment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 296 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 297 | |                 &other_bounding_boxes,
[INFO] [stdout] 298 | |                 &bounding_box,
[INFO] [stdout] 299 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`self` escapes the method body here
[INFO] [stdout]     |               argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/difference.rs:296:13
[INFO] [stdout]     |
[INFO] [stdout] 296 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 297 | |                 &other_bounding_boxes,
[INFO] [stdout] 298 | |                 &bounding_box,
[INFO] [stdout] 299 | |             );
[INFO] [stdout]     | |_____________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/difference.rs:378:43
[INFO] [stdout]     |
[INFO] [stdout] 364 |       fn difference(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                     has type `&'1 Multisegment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 378 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 379 | |             &bounding_boxes,
[INFO] [stdout] 380 | |             &other_bounding_box,
[INFO] [stdout] 381 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/difference.rs:378:43
[INFO] [stdout]     |
[INFO] [stdout] 364 |       fn difference(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                           -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 378 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 379 | |             &bounding_boxes,
[INFO] [stdout] 380 | |             &other_bounding_box,
[INFO] [stdout] 381 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/difference.rs:378:43
[INFO] [stdout]     |
[INFO] [stdout] 378 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 379 | |             &bounding_boxes,
[INFO] [stdout] 380 | |             &other_bounding_box,
[INFO] [stdout] 381 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]   --> src/geometries/multisegment/intersection.rs:84:45
[INFO] [stdout]    |
[INFO] [stdout] 84 |           let common_continuum_segments_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]    |  _____________________________________________^
[INFO] [stdout] 85 | |             &bounding_boxes,
[INFO] [stdout] 86 | |             &other_bounding_box,
[INFO] [stdout] 87 | |         );
[INFO] [stdout]    | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]    = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/intersection.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 70  |       fn intersection(self, other: Self) -> Self::Output {
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                       has type `&'1 Multisegment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 102 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 103 | |                 &other_bounding_boxes,
[INFO] [stdout] 104 | |                 &bounding_box,
[INFO] [stdout] 105 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`self` escapes the method body here
[INFO] [stdout]     |               argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/intersection.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 103 | |                 &other_bounding_boxes,
[INFO] [stdout] 104 | |                 &bounding_box,
[INFO] [stdout] 105 | |             );
[INFO] [stdout]     | |_____________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/intersection.rs:221:45
[INFO] [stdout]     |
[INFO] [stdout] 207 |       fn intersection(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                             -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 221 |           let common_continuum_segments_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 222 | |             &bounding_boxes,
[INFO] [stdout] 223 | |             &other_bounding_box,
[INFO] [stdout] 224 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/intersection.rs:221:45
[INFO] [stdout]     |
[INFO] [stdout] 221 |           let common_continuum_segments_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 222 | |             &bounding_boxes,
[INFO] [stdout] 223 | |             &other_bounding_box,
[INFO] [stdout] 224 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_polygons` does not live long enough
[INFO] [stdout]    --> src/geometries/multisegment/intersection.rs:229:36
[INFO] [stdout]     |
[INFO] [stdout] 228 |           let other_polygons = other.polygons();
[INFO] [stdout]     |               -------------- binding `other_polygons` declared here
[INFO] [stdout] 229 |           let other_bounding_boxes = other_polygons
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 234 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 235 | |                 &other_bounding_boxes,
[INFO] [stdout] 236 | |                 &bounding_box,
[INFO] [stdout] 237 | |             );
[INFO] [stdout]     | |_____________- argument requires that `other_polygons` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 285 |       }
[INFO] [stdout]     |       - `other_polygons` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/intersection.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |       fn intersection(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                       has type `&'1 Multisegment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 234 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 235 | |                 &other_bounding_boxes,
[INFO] [stdout] 236 | |                 &bounding_box,
[INFO] [stdout] 237 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`self` escapes the method body here
[INFO] [stdout]     |               argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/intersection.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 235 | |                 &other_bounding_boxes,
[INFO] [stdout] 236 | |                 &bounding_box,
[INFO] [stdout] 237 | |             );
[INFO] [stdout]     | |_____________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/intersection.rs:316:45
[INFO] [stdout]     |
[INFO] [stdout] 302 |       fn intersection(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                       has type `&'1 Multisegment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 316 |           let common_continuum_segments_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 317 | |             &bounding_boxes,
[INFO] [stdout] 318 | |             &other_bounding_box,
[INFO] [stdout] 319 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/intersection.rs:316:45
[INFO] [stdout]     |
[INFO] [stdout] 302 |       fn intersection(self, other: &Polygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                             -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 316 |           let common_continuum_segments_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 317 | |             &bounding_boxes,
[INFO] [stdout] 318 | |             &other_bounding_box,
[INFO] [stdout] 319 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/intersection.rs:316:45
[INFO] [stdout]     |
[INFO] [stdout] 316 |           let common_continuum_segments_ids = to_boxes_ids_with_common_continuum(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 317 | |             &bounding_boxes,
[INFO] [stdout] 318 | |             &other_bounding_box,
[INFO] [stdout] 319 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]   --> src/geometries/multisegment/symmetric_difference.rs:86:43
[INFO] [stdout]    |
[INFO] [stdout] 86 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]    |  ___________________________________________^
[INFO] [stdout] 87 | |             &bounding_boxes,
[INFO] [stdout] 88 | |             &other_bounding_box,
[INFO] [stdout] 89 | |         );
[INFO] [stdout]    | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]    = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/symmetric_difference.rs:102:49
[INFO] [stdout]     |
[INFO] [stdout] 70  |       fn symmetric_difference(self, other: Self) -> Self::Output {
[INFO] [stdout]     |                               ----
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                               has type `&'1 Multisegment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 102 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 103 | |             &other_bounding_boxes,
[INFO] [stdout] 104 | |             &bounding_box,
[INFO] [stdout] 105 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/symmetric_difference.rs:102:49
[INFO] [stdout]     |
[INFO] [stdout] 102 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 103 | |             &other_bounding_boxes,
[INFO] [stdout] 104 | |             &bounding_box,
[INFO] [stdout] 105 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/symmetric_difference.rs:191:43
[INFO] [stdout]     |
[INFO] [stdout] 174 |       fn symmetric_difference(self, other: &Contour<Scalar>) -> Self::Output {
[INFO] [stdout]     |                                     -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 191 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 192 | |             &bounding_boxes,
[INFO] [stdout] 193 | |             &other_bounding_box,
[INFO] [stdout] 194 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/symmetric_difference.rs:191:43
[INFO] [stdout]     |
[INFO] [stdout] 191 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 192 | |             &bounding_boxes,
[INFO] [stdout] 193 | |             &other_bounding_box,
[INFO] [stdout] 194 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_segments` does not live long enough
[INFO] [stdout]    --> src/geometries/multisegment/symmetric_difference.rs:202:36
[INFO] [stdout]     |
[INFO] [stdout] 177 |           let other_segments = other.segments();
[INFO] [stdout]     |               -------------- binding `other_segments` declared here
[INFO] [stdout] ...
[INFO] [stdout] 202 |           let other_bounding_boxes = other_segments
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 206 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________-
[INFO] [stdout] 207 | |             &other_bounding_boxes,
[INFO] [stdout] 208 | |             &bounding_box,
[INFO] [stdout] 209 | |         );
[INFO] [stdout]     | |_________- argument requires that `other_segments` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 258 |       }
[INFO] [stdout]     |       - `other_segments` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/symmetric_difference.rs:206:49
[INFO] [stdout]     |
[INFO] [stdout] 174 |       fn symmetric_difference(self, other: &Contour<Scalar>) -> Self::Output {
[INFO] [stdout]     |                               ----
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                               has type `&'1 Multisegment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 206 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 207 | |             &other_bounding_boxes,
[INFO] [stdout] 208 | |             &bounding_box,
[INFO] [stdout] 209 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/symmetric_difference.rs:206:49
[INFO] [stdout]     |
[INFO] [stdout] 206 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 207 | |             &other_bounding_boxes,
[INFO] [stdout] 208 | |             &bounding_box,
[INFO] [stdout] 209 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/symmetric_difference.rs:291:43
[INFO] [stdout]     |
[INFO] [stdout] 275 |       fn symmetric_difference(self, other: &Segment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                               ----
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                               has type `&'1 Multisegment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 291 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 292 | |             &bounding_boxes,
[INFO] [stdout] 293 | |             &other_bounding_box,
[INFO] [stdout] 294 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/symmetric_difference.rs:291:43
[INFO] [stdout]     |
[INFO] [stdout] 275 |       fn symmetric_difference(self, other: &Segment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                                     -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 291 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 292 | |             &bounding_boxes,
[INFO] [stdout] 293 | |             &other_bounding_box,
[INFO] [stdout] 294 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/symmetric_difference.rs:291:43
[INFO] [stdout]     |
[INFO] [stdout] 291 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 292 | |             &bounding_boxes,
[INFO] [stdout] 293 | |             &other_bounding_box,
[INFO] [stdout] 294 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]   --> src/geometries/multisegment/union.rs:88:43
[INFO] [stdout]    |
[INFO] [stdout] 88 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]    |  ___________________________________________^
[INFO] [stdout] 89 | |             &bounding_boxes,
[INFO] [stdout] 90 | |             &other_bounding_box,
[INFO] [stdout] 91 | |         );
[INFO] [stdout]    | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]    = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/union.rs:104:49
[INFO] [stdout]     |
[INFO] [stdout] 72  |       fn union(self, other: Self) -> Self::Output {
[INFO] [stdout]     |                ----
[INFO] [stdout]     |                |
[INFO] [stdout]     |                `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                has type `&'1 Multisegment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 104 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 105 | |             &other_bounding_boxes,
[INFO] [stdout] 106 | |             &bounding_box,
[INFO] [stdout] 107 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/union.rs:104:49
[INFO] [stdout]     |
[INFO] [stdout] 104 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 105 | |             &other_bounding_boxes,
[INFO] [stdout] 106 | |             &bounding_box,
[INFO] [stdout] 107 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/union.rs:194:43
[INFO] [stdout]     |
[INFO] [stdout] 177 |       fn union(self, other: &Contour<Scalar>) -> Self::Output {
[INFO] [stdout]     |                      -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 194 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 195 | |             &bounding_boxes,
[INFO] [stdout] 196 | |             &other_bounding_box,
[INFO] [stdout] 197 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/union.rs:194:43
[INFO] [stdout]     |
[INFO] [stdout] 194 |           let boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 195 | |             &bounding_boxes,
[INFO] [stdout] 196 | |             &other_bounding_box,
[INFO] [stdout] 197 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_segments` does not live long enough
[INFO] [stdout]    --> src/geometries/multisegment/union.rs:205:36
[INFO] [stdout]     |
[INFO] [stdout] 180 |           let other_segments = other.segments();
[INFO] [stdout]     |               -------------- binding `other_segments` declared here
[INFO] [stdout] ...
[INFO] [stdout] 205 |           let other_bounding_boxes = other_segments
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 209 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________-
[INFO] [stdout] 210 | |             &other_bounding_boxes,
[INFO] [stdout] 211 | |             &bounding_box,
[INFO] [stdout] 212 | |         );
[INFO] [stdout]     | |_________- argument requires that `other_segments` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 262 |       }
[INFO] [stdout]     |       - `other_segments` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/multisegment/union.rs:209:49
[INFO] [stdout]     |
[INFO] [stdout] 177 |       fn union(self, other: &Contour<Scalar>) -> Self::Output {
[INFO] [stdout]     |                ----
[INFO] [stdout]     |                |
[INFO] [stdout]     |                `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                has type `&'1 Multisegment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 209 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 210 | |             &other_bounding_boxes,
[INFO] [stdout] 211 | |             &bounding_box,
[INFO] [stdout] 212 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/multisegment/union.rs:209:49
[INFO] [stdout]     |
[INFO] [stdout] 209 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 210 | |             &other_bounding_boxes,
[INFO] [stdout] 211 | |             &bounding_box,
[INFO] [stdout] 212 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_polygons` does not live long enough
[INFO] [stdout]    --> src/geometries/polygon/difference.rs:113:36
[INFO] [stdout]     |
[INFO] [stdout] 112 |           let other_polygons = other.polygons();
[INFO] [stdout]     |               -------------- binding `other_polygons` declared here
[INFO] [stdout] 113 |           let other_bounding_boxes = other_polygons
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 117 |           let other_common_area_polygons_ids = to_boxes_ids_with_common_area(
[INFO] [stdout]     |  ______________________________________________-
[INFO] [stdout] 118 | |             &other_bounding_boxes,
[INFO] [stdout] 119 | |             &other_bounding_box,
[INFO] [stdout] 120 | |         );
[INFO] [stdout]     | |_________- argument requires that `other_polygons` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 147 |       }
[INFO] [stdout]     |       - `other_polygons` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:582:39
[INFO] [stdout]     |
[INFO] [stdout] 582 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/polygon/difference.rs:117:46
[INFO] [stdout]     |
[INFO] [stdout] 106 |       fn difference(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                           -----  - let's call the lifetime of this reference `'1`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 117 |           let other_common_area_polygons_ids = to_boxes_ids_with_common_area(
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 118 | |             &other_bounding_boxes,
[INFO] [stdout] 119 | |             &other_bounding_box,
[INFO] [stdout] 120 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:582:39
[INFO] [stdout]     |
[INFO] [stdout] 582 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/polygon/difference.rs:117:46
[INFO] [stdout]     |
[INFO] [stdout] 117 |           let other_common_area_polygons_ids = to_boxes_ids_with_common_area(
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 118 | |             &other_bounding_boxes,
[INFO] [stdout] 119 | |             &other_bounding_box,
[INFO] [stdout] 120 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_segments` does not live long enough
[INFO] [stdout]    --> src/geometries/polygon/intersection.rs:116:36
[INFO] [stdout]     |
[INFO] [stdout] 115 |           let other_segments = other.segments();
[INFO] [stdout]     |               -------------- binding `other_segments` declared here
[INFO] [stdout] 116 |           let other_bounding_boxes = other_segments
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 121 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 122 | |                 &other_bounding_boxes,
[INFO] [stdout] 123 | |                 &bounding_box,
[INFO] [stdout] 124 | |             );
[INFO] [stdout]     | |_____________- argument requires that `other_segments` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 161 |       }
[INFO] [stdout]     |       - `other_segments` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/polygon/intersection.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |       fn intersection(self, other: &Contour<Scalar>) -> Self::Output {
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                       has type `&'1 Polygon<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 121 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 122 | |                 &other_bounding_boxes,
[INFO] [stdout] 123 | |                 &bounding_box,
[INFO] [stdout] 124 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`self` escapes the method body here
[INFO] [stdout]     |               argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/polygon/intersection.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |       fn intersection(self, other: &Contour<Scalar>) -> Self::Output {
[INFO] [stdout]     |                             -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 121 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 122 | |                 &other_bounding_boxes,
[INFO] [stdout] 123 | |                 &bounding_box,
[INFO] [stdout] 124 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`other` escapes the method body here
[INFO] [stdout]     |               argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/polygon/intersection.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 122 | |                 &other_bounding_boxes,
[INFO] [stdout] 123 | |                 &bounding_box,
[INFO] [stdout] 124 | |             );
[INFO] [stdout]     | |_____________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_polygons` does not live long enough
[INFO] [stdout]    --> src/geometries/polygon/intersection.rs:188:36
[INFO] [stdout]     |
[INFO] [stdout] 187 |           let other_polygons = other.polygons();
[INFO] [stdout]     |               -------------- binding `other_polygons` declared here
[INFO] [stdout] 188 |           let other_bounding_boxes = other_polygons
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 192 |           let other_common_area_polygons_ids = to_boxes_ids_with_common_area(
[INFO] [stdout]     |  ______________________________________________-
[INFO] [stdout] 193 | |             &other_bounding_boxes,
[INFO] [stdout] 194 | |             &bounding_box,
[INFO] [stdout] 195 | |         );
[INFO] [stdout]     | |_________- argument requires that `other_polygons` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 227 |       }
[INFO] [stdout]     |       - `other_polygons` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:582:39
[INFO] [stdout]     |
[INFO] [stdout] 582 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/polygon/intersection.rs:192:46
[INFO] [stdout]     |
[INFO] [stdout] 181 |       fn intersection(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                       has type `&'1 Polygon<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 192 |           let other_common_area_polygons_ids = to_boxes_ids_with_common_area(
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 193 | |             &other_bounding_boxes,
[INFO] [stdout] 194 | |             &bounding_box,
[INFO] [stdout] 195 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:582:39
[INFO] [stdout]     |
[INFO] [stdout] 582 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/polygon/intersection.rs:192:46
[INFO] [stdout]     |
[INFO] [stdout] 181 |       fn intersection(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                             -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 192 |           let other_common_area_polygons_ids = to_boxes_ids_with_common_area(
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 193 | |             &other_bounding_boxes,
[INFO] [stdout] 194 | |             &bounding_box,
[INFO] [stdout] 195 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:582:39
[INFO] [stdout]     |
[INFO] [stdout] 582 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/polygon/intersection.rs:192:46
[INFO] [stdout]     |
[INFO] [stdout] 192 |           let other_common_area_polygons_ids = to_boxes_ids_with_common_area(
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 193 | |             &other_bounding_boxes,
[INFO] [stdout] 194 | |             &bounding_box,
[INFO] [stdout] 195 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_segments` does not live long enough
[INFO] [stdout]    --> src/geometries/polygon/intersection.rs:255:36
[INFO] [stdout]     |
[INFO] [stdout] 254 |           let other_segments = other.segments();
[INFO] [stdout]     |               -------------- binding `other_segments` declared here
[INFO] [stdout] 255 |           let other_bounding_boxes = other_segments
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 260 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 261 | |                 &other_bounding_boxes,
[INFO] [stdout] 262 | |                 &bounding_box,
[INFO] [stdout] 263 | |             );
[INFO] [stdout]     | |_____________- argument requires that `other_segments` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 300 |       }
[INFO] [stdout]     |       - `other_segments` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/polygon/intersection.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |       fn intersection(self, other: &Multisegment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                       has type `&'1 Polygon<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 260 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 261 | |                 &other_bounding_boxes,
[INFO] [stdout] 262 | |                 &bounding_box,
[INFO] [stdout] 263 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`self` escapes the method body here
[INFO] [stdout]     |               argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/polygon/intersection.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |       fn intersection(self, other: &Multisegment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                             -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 260 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 261 | |                 &other_bounding_boxes,
[INFO] [stdout] 262 | |                 &bounding_box,
[INFO] [stdout] 263 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`other` escapes the method body here
[INFO] [stdout]     |               argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/polygon/intersection.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 260 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 261 | |                 &other_bounding_boxes,
[INFO] [stdout] 262 | |                 &bounding_box,
[INFO] [stdout] 263 | |             );
[INFO] [stdout]     | |_____________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_polygons` does not live long enough
[INFO] [stdout]    --> src/geometries/polygon/symmetric_difference.rs:123:36
[INFO] [stdout]     |
[INFO] [stdout] 113 |           let other_polygons = other.polygons();
[INFO] [stdout]     |               -------------- binding `other_polygons` declared here
[INFO] [stdout] ...
[INFO] [stdout] 123 |           let other_bounding_boxes = other_polygons
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 127 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________-
[INFO] [stdout] 128 | |             &other_bounding_boxes,
[INFO] [stdout] 129 | |             &other_bounding_box,
[INFO] [stdout] 130 | |         );
[INFO] [stdout]     | |_________- argument requires that `other_polygons` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 167 |       }
[INFO] [stdout]     |       - `other_polygons` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/polygon/symmetric_difference.rs:127:49
[INFO] [stdout]     |
[INFO] [stdout] 109 |           other: &Multipolygon<Scalar>,
[INFO] [stdout]     |           -----  - let's call the lifetime of this reference `'1`
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 127 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 128 | |             &other_bounding_boxes,
[INFO] [stdout] 129 | |             &other_bounding_box,
[INFO] [stdout] 130 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/polygon/symmetric_difference.rs:127:49
[INFO] [stdout]     |
[INFO] [stdout] 127 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 128 | |             &other_bounding_boxes,
[INFO] [stdout] 129 | |             &other_bounding_box,
[INFO] [stdout] 130 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `other_polygons` because it is borrowed
[INFO] [stdout]    --> src/geometries/polygon/symmetric_difference.rs:135:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |           let other_polygons = other.polygons();
[INFO] [stdout]     |               -------------- binding `other_polygons` declared here
[INFO] [stdout] ...
[INFO] [stdout] 123 |           let other_bounding_boxes = other_polygons
[INFO] [stdout]     |                                      -------------- borrow of `other_polygons` occurs here
[INFO] [stdout] ...
[INFO] [stdout] 127 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________-
[INFO] [stdout] 128 | |             &other_bounding_boxes,
[INFO] [stdout] 129 | |             &other_bounding_box,
[INFO] [stdout] 130 | |         );
[INFO] [stdout]     | |_________- argument requires that `other_polygons` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 135 |                   other_polygons.into_iter().cloned().collect::<Vec<_>>();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^ move out of `other_polygons` occurs here
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] note: if `SliceSequence<'_, Polygon<Scalar>>` implemented `Clone`, you could clone the value
[INFO] [stdout]    --> src/slice_sequence.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout] 5   | pub struct SliceSequence<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/geometries/polygon/symmetric_difference.rs:123:36
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let other_bounding_boxes = other_polygons
[INFO] [stdout]     |                                    -------------- you could clone this value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_polygons` does not live long enough
[INFO] [stdout]    --> src/geometries/polygon/union.rs:117:36
[INFO] [stdout]     |
[INFO] [stdout] 107 |           let other_polygons = other.polygons();
[INFO] [stdout]     |               -------------- binding `other_polygons` declared here
[INFO] [stdout] ...
[INFO] [stdout] 117 |           let other_bounding_boxes = other_polygons
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 121 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________-
[INFO] [stdout] 122 | |             &other_bounding_boxes,
[INFO] [stdout] 123 | |             &other_bounding_box,
[INFO] [stdout] 124 | |         );
[INFO] [stdout]     | |_________- argument requires that `other_polygons` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 162 |       }
[INFO] [stdout]     |       - `other_polygons` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/polygon/union.rs:121:49
[INFO] [stdout]     |
[INFO] [stdout] 104 |       fn union(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                      -----  - let's call the lifetime of this reference `'1`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 121 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 122 | |             &other_bounding_boxes,
[INFO] [stdout] 123 | |             &other_bounding_box,
[INFO] [stdout] 124 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/polygon/union.rs:121:49
[INFO] [stdout]     |
[INFO] [stdout] 121 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 122 | |             &other_bounding_boxes,
[INFO] [stdout] 123 | |             &other_bounding_box,
[INFO] [stdout] 124 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0505]: cannot move out of `other_polygons` because it is borrowed
[INFO] [stdout]    --> src/geometries/polygon/union.rs:129:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |           let other_polygons = other.polygons();
[INFO] [stdout]     |               -------------- binding `other_polygons` declared here
[INFO] [stdout] ...
[INFO] [stdout] 117 |           let other_bounding_boxes = other_polygons
[INFO] [stdout]     |                                      -------------- borrow of `other_polygons` occurs here
[INFO] [stdout] ...
[INFO] [stdout] 121 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________-
[INFO] [stdout] 122 | |             &other_bounding_boxes,
[INFO] [stdout] 123 | |             &other_bounding_box,
[INFO] [stdout] 124 | |         );
[INFO] [stdout]     | |_________- argument requires that `other_polygons` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 129 |                   other_polygons.into_iter().cloned().collect::<Vec<_>>();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^ move out of `other_polygons` occurs here
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] note: if `SliceSequence<'_, Polygon<Scalar>>` implemented `Clone`, you could clone the value
[INFO] [stdout]    --> src/slice_sequence.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout] 5   | pub struct SliceSequence<'a, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/geometries/polygon/union.rs:117:36
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let other_bounding_boxes = other_polygons
[INFO] [stdout]     |                                    -------------- you could clone this value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/segment/difference.rs:171:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |       fn difference(self, other: &Contour<Scalar>) -> Self::Output {
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                     has type `&'1 Segment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 171 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 172 | |             &other_segments
[INFO] [stdout] 173 | |                 .iter()
[INFO] [stdout] 174 | |                 .map(Bounded::to_bounding_box)
[INFO] [stdout] 175 | |                 .collect::<Vec<_>>(),
[INFO] [stdout] 176 | |             &bounding_box,
[INFO] [stdout] 177 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/segment/difference.rs:171:49
[INFO] [stdout]     |
[INFO] [stdout] 161 |       fn difference(self, other: &Contour<Scalar>) -> Self::Output {
[INFO] [stdout]     |                           -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 171 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 172 | |             &other_segments
[INFO] [stdout] 173 | |                 .iter()
[INFO] [stdout] 174 | |                 .map(Bounded::to_bounding_box)
[INFO] [stdout] 175 | |                 .collect::<Vec<_>>(),
[INFO] [stdout] 176 | |             &bounding_box,
[INFO] [stdout] 177 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/segment/difference.rs:171:49
[INFO] [stdout]     |
[INFO] [stdout] 171 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 172 | |             &other_segments
[INFO] [stdout] 173 | |                 .iter()
[INFO] [stdout] 174 | |                 .map(Bounded::to_bounding_box)
[INFO] [stdout] 175 | |                 .collect::<Vec<_>>(),
[INFO] [stdout] 176 | |             &bounding_box,
[INFO] [stdout] 177 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_segments` does not live long enough
[INFO] [stdout]    --> src/geometries/segment/difference.rs:172:14
[INFO] [stdout]     |
[INFO] [stdout] 170 |           let other_segments = other.segments();
[INFO] [stdout]     |               -------------- binding `other_segments` declared here
[INFO] [stdout] 171 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________-
[INFO] [stdout] 172 | |             &other_segments
[INFO] [stdout]     | |              ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] 173 | |                 .iter()
[INFO] [stdout] 174 | |                 .map(Bounded::to_bounding_box)
[INFO] [stdout] 175 | |                 .collect::<Vec<_>>(),
[INFO] [stdout] 176 | |             &bounding_box,
[INFO] [stdout] 177 | |         );
[INFO] [stdout]     | |_________- argument requires that `other_segments` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 207 |       }
[INFO] [stdout]     |       - `other_segments` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_polygons` does not live long enough
[INFO] [stdout]    --> src/geometries/segment/difference.rs:234:36
[INFO] [stdout]     |
[INFO] [stdout] 233 |           let other_polygons = other.polygons();
[INFO] [stdout]     |               -------------- binding `other_polygons` declared here
[INFO] [stdout] 234 |           let other_bounding_boxes = other_polygons
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 239 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 240 | |                 &other_bounding_boxes,
[INFO] [stdout] 241 | |                 &bounding_box,
[INFO] [stdout] 242 | |             );
[INFO] [stdout]     | |_____________- argument requires that `other_polygons` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 273 |       }
[INFO] [stdout]     |       - `other_polygons` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/segment/difference.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |       fn difference(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                     has type `&'1 Segment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 239 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 240 | |                 &other_bounding_boxes,
[INFO] [stdout] 241 | |                 &bounding_box,
[INFO] [stdout] 242 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`self` escapes the method body here
[INFO] [stdout]     |               argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/segment/difference.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |       fn difference(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                           -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 239 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 240 | |                 &other_bounding_boxes,
[INFO] [stdout] 241 | |                 &bounding_box,
[INFO] [stdout] 242 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`other` escapes the method body here
[INFO] [stdout]     |               argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/segment/difference.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 240 | |                 &other_bounding_boxes,
[INFO] [stdout] 241 | |                 &bounding_box,
[INFO] [stdout] 242 | |             );
[INFO] [stdout]     | |_____________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/segment/difference.rs:298:49
[INFO] [stdout]     |
[INFO] [stdout] 288 |       fn difference(self, other: &Multisegment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                     has type `&'1 Segment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 298 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 299 | |             &other_segments
[INFO] [stdout] 300 | |                 .iter()
[INFO] [stdout] 301 | |                 .map(Bounded::to_bounding_box)
[INFO] [stdout] 302 | |                 .collect::<Vec<_>>(),
[INFO] [stdout] 303 | |             &bounding_box,
[INFO] [stdout] 304 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/segment/difference.rs:298:49
[INFO] [stdout]     |
[INFO] [stdout] 288 |       fn difference(self, other: &Multisegment<Scalar>) -> Self::Output {
[INFO] [stdout]     |                           -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 298 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 299 | |             &other_segments
[INFO] [stdout] 300 | |                 .iter()
[INFO] [stdout] 301 | |                 .map(Bounded::to_bounding_box)
[INFO] [stdout] 302 | |                 .collect::<Vec<_>>(),
[INFO] [stdout] 303 | |             &bounding_box,
[INFO] [stdout] 304 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/segment/difference.rs:298:49
[INFO] [stdout]     |
[INFO] [stdout] 298 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 299 | |             &other_segments
[INFO] [stdout] 300 | |                 .iter()
[INFO] [stdout] 301 | |                 .map(Bounded::to_bounding_box)
[INFO] [stdout] 302 | |                 .collect::<Vec<_>>(),
[INFO] [stdout] 303 | |             &bounding_box,
[INFO] [stdout] 304 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_segments` does not live long enough
[INFO] [stdout]    --> src/geometries/segment/difference.rs:299:14
[INFO] [stdout]     |
[INFO] [stdout] 297 |           let other_segments = other.segments();
[INFO] [stdout]     |               -------------- binding `other_segments` declared here
[INFO] [stdout] 298 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________-
[INFO] [stdout] 299 | |             &other_segments
[INFO] [stdout]     | |              ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] 300 | |                 .iter()
[INFO] [stdout] 301 | |                 .map(Bounded::to_bounding_box)
[INFO] [stdout] 302 | |                 .collect::<Vec<_>>(),
[INFO] [stdout] 303 | |             &bounding_box,
[INFO] [stdout] 304 | |         );
[INFO] [stdout]     | |_________- argument requires that `other_segments` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 334 |       }
[INFO] [stdout]     |       - `other_segments` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_polygons` does not live long enough
[INFO] [stdout]    --> src/geometries/segment/intersection.rs:127:36
[INFO] [stdout]     |
[INFO] [stdout] 126 |           let other_polygons = other.polygons();
[INFO] [stdout]     |               -------------- binding `other_polygons` declared here
[INFO] [stdout] 127 |           let other_bounding_boxes = other_polygons
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 132 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 133 | |                 &other_bounding_boxes,
[INFO] [stdout] 134 | |                 &bounding_box,
[INFO] [stdout] 135 | |             );
[INFO] [stdout]     | |_____________- argument requires that `other_polygons` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 172 |       }
[INFO] [stdout]     |       - `other_polygons` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/segment/intersection.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |       fn intersection(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                       has type `&'1 Segment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 132 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 133 | |                 &other_bounding_boxes,
[INFO] [stdout] 134 | |                 &bounding_box,
[INFO] [stdout] 135 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`self` escapes the method body here
[INFO] [stdout]     |               argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/segment/intersection.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |       fn intersection(self, other: &Multipolygon<Scalar>) -> Self::Output {
[INFO] [stdout]     |                             -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 132 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 133 | |                 &other_bounding_boxes,
[INFO] [stdout] 134 | |                 &bounding_box,
[INFO] [stdout] 135 | |             );
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________`other` escapes the method body here
[INFO] [stdout]     |               argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:594:39
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/segment/intersection.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 | /             to_boxes_ids_with_common_continuum(
[INFO] [stdout] 133 | |                 &other_bounding_boxes,
[INFO] [stdout] 134 | |                 &bounding_box,
[INFO] [stdout] 135 | |             );
[INFO] [stdout]     | |_____________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_segments` does not live long enough
[INFO] [stdout]    --> src/geometries/segment/symmetric_difference.rs:151:36
[INFO] [stdout]     |
[INFO] [stdout] 141 |           let other_segments = other.segments();
[INFO] [stdout]     |               -------------- binding `other_segments` declared here
[INFO] [stdout] ...
[INFO] [stdout] 151 |           let other_bounding_boxes = other_segments
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 155 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________-
[INFO] [stdout] 156 | |             &other_bounding_boxes,
[INFO] [stdout] 157 | |             &bounding_box,
[INFO] [stdout] 158 | |         );
[INFO] [stdout]     | |_________- argument requires that `other_segments` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 197 |       }
[INFO] [stdout]     |       - `other_segments` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/segment/symmetric_difference.rs:155:49
[INFO] [stdout]     |
[INFO] [stdout] 138 |       fn symmetric_difference(self, other: &Contour<Scalar>) -> Self::Output {
[INFO] [stdout]     |                               ----
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `self` is a reference that is only valid in the method body
[INFO] [stdout]     |                               has type `&'1 Segment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 155 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 156 | |             &other_bounding_boxes,
[INFO] [stdout] 157 | |             &bounding_box,
[INFO] [stdout] 158 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/segment/symmetric_difference.rs:155:49
[INFO] [stdout]     |
[INFO] [stdout] 138 |       fn symmetric_difference(self, other: &Contour<Scalar>) -> Self::Output {
[INFO] [stdout]     |                                     -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 155 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 156 | |             &other_bounding_boxes,
[INFO] [stdout] 157 | |             &bounding_box,
[INFO] [stdout] 158 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/segment/symmetric_difference.rs:155:49
[INFO] [stdout]     |
[INFO] [stdout] 155 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 156 | |             &other_bounding_boxes,
[INFO] [stdout] 157 | |             &bounding_box,
[INFO] [stdout] 158 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0597]: `other_segments` does not live long enough
[INFO] [stdout]    --> src/geometries/segment/symmetric_difference.rs:233:36
[INFO] [stdout]     |
[INFO] [stdout] 223 |           let other_segments = other.segments();
[INFO] [stdout]     |               -------------- binding `other_segments` declared here
[INFO] [stdout] ...
[INFO] [stdout] 233 |           let other_bounding_boxes = other_segments
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ borrowed value does not live long enough
[INFO] [stdout] ...
[INFO] [stdout] 237 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________-
[INFO] [stdout] 238 | |             &other_bounding_boxes,
[INFO] [stdout] 239 | |             &bounding_box,
[INFO] [stdout] 240 | |         );
[INFO] [stdout]     | |_________- argument requires that `other_segments` is borrowed for `'static`
[INFO] [stdout] ...
[INFO] [stdout] 279 |       }
[INFO] [stdout]     |       - `other_segments` dropped here while still borrowed
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/segment/symmetric_difference.rs:237:49
[INFO] [stdout]     |
[INFO] [stdout] 218 |           self,
[INFO] [stdout]     |           ----
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `self` is a reference that is only valid in the method body
[INFO] [stdout]     |           has type `&'1 Segment<Scalar>`
[INFO] [stdout] ...
[INFO] [stdout] 237 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 238 | |             &other_bounding_boxes,
[INFO] [stdout] 239 | |             &bounding_box,
[INFO] [stdout] 240 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`self` escapes the method body here
[INFO] [stdout]     |           argument requires that `'1` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> src/geometries/segment/symmetric_difference.rs:237:49
[INFO] [stdout]     |
[INFO] [stdout] 219 |           other: &Multisegment<Scalar>,
[INFO] [stdout]     |           -----  - let's call the lifetime of this reference `'2`
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `other` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 237 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 238 | |             &other_bounding_boxes,
[INFO] [stdout] 239 | |             &bounding_box,
[INFO] [stdout] 240 | |         );
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________`other` escapes the method body here
[INFO] [stdout]     |           argument requires that `'2` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout] note: due to current limitations in the borrow checker, this implies a `'static` lifetime
[INFO] [stdout]    --> src/operations.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |     for<'a> &'a bounded::Box<Scalar>: Relatable,
[INFO] [stdout]     |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: implementation of `Relatable` is not general enough
[INFO] [stdout]    --> src/geometries/segment/symmetric_difference.rs:237:49
[INFO] [stdout]     |
[INFO] [stdout] 237 |           let other_boxes_have_common_continuum = to_boxes_have_common_continuum(
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 238 | |             &other_bounding_boxes,
[INFO] [stdout] 239 | |             &bounding_box,
[INFO] [stdout] 240 | |         );
[INFO] [stdout]     | |_________^ implementation of `Relatable` is not general enough
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Relatable` would have to be implemented for the type `&'0 bounded::types::Box<&Scalar>`, for any lifetime `'0`...
[INFO] [stdout]     = note: ...but `Relatable` is actually implemented for the type `&'1 bounded::types::Box<&'1 Scalar>`, for some specific lifetime `'1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `point`
[INFO] [stdout]     --> src/lib.rs:1320:22
[INFO] [stdout]      |
[INFO] [stdout] 1320 |     fn locate(&self, point: &PyExactPoint, py: Python) -> PyResult<&PyAny> {
[INFO] [stdout]      |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_point`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 173 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0505, E0521, E0597.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0505`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rene` (lib) due to 174 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "626396ae487061ad46d668ec97f3868a9cc23cb2702d29c337bb5669085ff49e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "626396ae487061ad46d668ec97f3868a9cc23cb2702d29c337bb5669085ff49e", kill_on_drop: false }`
[INFO] [stdout] 626396ae487061ad46d668ec97f3868a9cc23cb2702d29c337bb5669085ff49e
