Skip to content

Compile error for release builds on nightly: overflow evaluating the requirement `<impl GeometryTrait<T = f64> #716

@apps4uco

Description

@apps4uco

Hi Kyle,

There is a problem with a vanilla build of 0.2.0 on nightly ('nightly-aarch64-apple-darwin'),
on stable ('stable-aarch64-apple-darwin') it compiles fine.

I ran rustup update to try the latest nightly, so i can confirm its not just on one nightly.

Steps to reproduce

cargo new geoarrow_test
cd geoarrow_test
cargo add geoarrow
cargo build --release

Cargo.toml

[package]
name = "geoarrow_test"
version = "0.1.0"
edition = "2021"

[dependencies]
geoarrow = "0.2.0"

Compile Error

   Compiling geoarrow v0.2.0
error[E0275]: overflow evaluating the requirement `<impl GeometryTrait<T = f64> as geo_traits::geometry::GeometryTrait>::GeometryCollection<'_>: geo_traits::geometry_collection::GeometryCollectionTrait`
    |
    = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`geoarrow`)
note: required for `GeometryCollectionIterator<'_, f64, ..., ...>` to implement `Iterator`
   --> /Users/andy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/geoarrow-0.2.0/src/geo_traits/iterator.rs:38:15
    |
36  |                   ItemType: 'a + $item_trait<T = T>,
    |                                              ----- unsatisfied trait bound introduced here
37  |                   G: $self_trait<T = T, ItemType<'a> = ItemType>,
38  |               > Iterator for $struct_name<'a, T, ItemType, G>
    |                 ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
108 | / impl_iterator!(
109 | |     GeometryCollectionIterator,
110 | |     GeometryCollectionTrait,
111 | |     GeometryTrait,
112 | |     geometry_unchecked
113 | | );
    | |_- in this macro invocation
    = note: required for `GeometryCollectionIterator<'_, f64, ..., ...>` to implement `IntoIterator`
    = note: the full name for the type has been written to '/Users/andy/rust/test/geoarrow_test/target/release/deps/geoarrow-1b938d32aa0c667b.long-type-6547768600814213466.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: the full name for the type has been written to '/Users/andy/rust/test/geoarrow_test/target/release/deps/geoarrow-1b938d32aa0c667b.long-type-6547768600814213466.txt'
    = note: consider using `--verbose` to print the full type name to the console
    = note: this error originates in the macro `impl_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0275`.
error: could not compile `geoarrow` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

Environment

rustc -V
rustc 1.82.0-nightly (4074d4902 2024-08-23)

Mac Air M1

uname -a
Darwin apps4u 23.5.0 Darwin Kernel Version 23.5.0: Wed May 1 20:16:51 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T8103 arm64

Attached file

The file mentioned in the error report

geoarrow-1b938d32aa0c667b.long-type-6547768600814213466.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions