servo / pathfinder

A fast, practical GPU rasterizer for fonts and vector graphics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PartialEq not implemented for pathfinder_simd::arm::F32x2

Tails opened this issue · comments

commented
error[E0369]: binary operation `==` cannot be applied to type `pathfinder_simd::arm::F32x2`
   --> /Users/luukdewaalmalefijt/.cargo/git/checkouts/pathfinder-f0bd20e7aa700f92/9e03317/content/src/effects.rs:53:9
    |
43  | #[derive(Clone, Copy, PartialEq, Debug)]
    |                       --------- in this derive macro expansion
...
53  |         radii: F32x2,
    |         ^^^^^^^^^^^^
    |
   ::: /Users/luukdewaalmalefijt/.rustup/toolchains/nightly-2022-10-20-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/cmp.rs:236:1
    |
236 | pub macro PartialEq($item:item) {
    | ------------------- in this expansion of `#[derive(PartialEq)]`

The error happens seemingly because pathfinder_content::effects::Filter implements PartialEq, but the pathfinder_simd::arm::F32x2 inside it doesn't.

use pathfinder_simd::default::F32x2;

...

#[derive(Clone, Copy, PartialEq, Debug)]
pub enum Filter {
    /// No special filter.
    None,

    /// Converts a linear gradient to a radial one.
    RadialGradient {
        ...
        /// The radii of the circles at the two endpoints.
        radii: F32x2,
        ...
    },

    /// One of the `PatternFilter` filters.
    PatternFilter(PatternFilter),
}

Is there a pathfinder_content version where the PartialEq is not implemented?

Fixed by #546.