geometry-trait 0.0.8

Concept traits (Point, Linestring, Ring, Polygon, multi-variants, …) for the Boost.Geometry Rust port — implement them for your own types.
Documentation
error[E0277]: the trait bound `f64: AngleUnit` is not satisfied
  --> tests/ui/spherical_wrong_unit.rs:28:15
   |
28 |     type Cs = Spherical<f64>;
   |               ^^^^^^^^^^^^^^ the trait `AngleUnit` is not implemented for `f64`
   |
help: the following other types implement trait `AngleUnit`
  --> $WORKSPACE/crates/geometry-cs/src/unit.rs
   |
   | impl AngleUnit for Degree {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^ `Degree`
...
   | impl AngleUnit for Radian {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^ `Radian`
   = note: required for `Spherical<f64>` to implement `CoordinateSystem`
note: required by a bound in `geometry_trait::Point::Cs`
  --> src/point.rs
   |
   |     type Cs: CoordinateSystem;
   |              ^^^^^^^^^^^^^^^^ required by this bound in `Point::Cs`

error[E0277]: the trait bound `f64: AngleUnit` is not satisfied
  --> tests/ui/spherical_wrong_unit.rs:28:15
   |
28 |     type Cs = Spherical<f64>;
   |               ^^^^^^^^^^^^^^ the trait `AngleUnit` is not implemented for `f64`
   |
help: the following other types implement trait `AngleUnit`
  --> $WORKSPACE/crates/geometry-cs/src/unit.rs
   |
   | impl AngleUnit for Degree {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^ `Degree`
...
   | impl AngleUnit for Radian {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^ `Radian`
note: required by a bound in `Spherical`
  --> $WORKSPACE/crates/geometry-cs/src/system.rs
   |
   | pub struct Spherical<U: AngleUnit>(PhantomData<U>);
   |                         ^^^^^^^^^ required by this bound in `Spherical`