You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On macbook M2, which uses the implementation in src/f32/scalar as opposed to the src/f32/sse2/ which my stationary uses, we get the following compilation error
|
26 | ...point.le(&Vec3A::splat(0.5)) && point.ge(&Vec3A::splat(-0...
| ^^ Vec3A is not an iterator
|
::: glam-rs-bbec0e101ff938b0/29413fa/src/f32/scalar/vec3a.rs:30:1
|
30 | pub struct Vec3A{
| ---------------- doesn't satisfy Vec3A:Iterator
|
= note: the following trait bounds were not satisfied:Vec3A:Iterator
which is required by &mut Vec3A:Iterator
I don't know what implementing Iterator has to do with supporting the PartialOrd trait, but rustc is very determined that is the reason.
The text was updated successfully, but these errors were encountered:
EriKWDev
changed the title
Icnonsistent/missing scalar implementation of le/ge functions for Vec3A compared to sse2
Inconsistent/missing scalar implementation of le/ge functions for Vec3A compared to sse2
May 29, 2024
I have fixed this, it will break your code though sorry.
The SIMD types use Deref to give direct access to .x, .y etc. The return type used by Deref was deriving PartialOrd, which is why your code was working in this instance. It wasn't intended, PartialOrd was removed from glam types a long time ago (see #138, #168). You should be able to achieve the same thing with point.cmple(&Vec3A::splat(0.5)).all() I think.
On x86, this compiles fine.
On macbook M2, which uses the implementation in
src/f32/scalar
as opposed to thesrc/f32/sse2/
which my stationary uses, we get the following compilation errorI don't know what implementing
Iterator
has to do with supporting thePartialOrd
trait, but rustc is very determined that is the reason.The text was updated successfully, but these errors were encountered: