Trait MappedEq

Source
pub trait MappedEq<T = Self>
where T: ?Sized,
{ type BlankId; // Required method fn mapped_eq<'a, 'b, F>(&'a self, other: &T, f: F) -> bool where F: Clone + Fn(&'a Self::BlankId) -> &'b Self::BlankId, Self::BlankId: 'a + 'b; }

Required Associated Types§

Required Methods§

Source

fn mapped_eq<'a, 'b, F>(&'a self, other: &T, f: F) -> bool
where F: Clone + Fn(&'a Self::BlankId) -> &'b Self::BlankId, Self::BlankId: 'a + 'b,

Structural equality with mapped blank identifiers.

Does not care for metadata.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'u, 't, U, T> MappedEq<&'u U> for &'t T
where T: MappedEq<U>,

Source§

type BlankId = <T as MappedEq<U>>::BlankId

Source§

fn mapped_eq<'a, 'b, F>(&'a self, other: &&'u U, f: F) -> bool
where F: Clone + Fn(&'a <&'t T as MappedEq<&'u U>>::BlankId) -> &'b <&'t T as MappedEq<&'u U>>::BlankId, <&'t T as MappedEq<&'u U>>::BlankId: 'a + 'b,

Source§

impl<T> MappedEq for Option<T>
where T: MappedEq,

Source§

type BlankId = <T as MappedEq>::BlankId

Source§

fn mapped_eq<'a, 'b, F>(&'a self, other: &Option<T>, f: F) -> bool
where F: Clone + Fn(&'a <Option<T> as MappedEq>::BlankId) -> &'b <Option<T> as MappedEq>::BlankId, <Option<T> as MappedEq>::BlankId: 'a + 'b,

Source§

impl<T> MappedEq for [T]
where T: MappedEq,

Source§

type BlankId = <T as MappedEq>::BlankId

Source§

fn mapped_eq<'a, 'b, F>(&'a self, other: &[T], f: F) -> bool
where F: Clone + Fn(&'a <[T] as MappedEq>::BlankId) -> &'b <[T] as MappedEq>::BlankId, <[T] as MappedEq>::BlankId: 'a + 'b,

Source§

impl<T> MappedEq for Vec<T>
where T: MappedEq,

Source§

type BlankId = <T as MappedEq>::BlankId

Source§

fn mapped_eq<'a, 'b, F>(&'a self, other: &Vec<T>, f: F) -> bool
where F: Clone + Fn(&'a <Vec<T> as MappedEq>::BlankId) -> &'b <Vec<T> as MappedEq>::BlankId, <Vec<T> as MappedEq>::BlankId: 'a + 'b,

Source§

impl<T> MappedEq for IndexSet<T>
where T: MappedEq,

Source§

type BlankId = <T as MappedEq>::BlankId

Source§

fn mapped_eq<'a, 'b, F>(&'a self, other: &IndexSet<T>, f: F) -> bool
where F: Clone + Fn(&'a <IndexSet<T> as MappedEq>::BlankId) -> &'b <IndexSet<T> as MappedEq>::BlankId, <IndexSet<T> as MappedEq>::BlankId: 'a + 'b,

Implementors§

Source§

impl<T> MappedEq for Indexed<T>
where T: MappedEq,

Source§

impl<T, B> MappedEq for json_ld::Id<T, B>
where T: PartialEq, B: PartialEq,

Source§

impl<T, B> MappedEq for Object<T, B>
where T: Eq + Hash, B: Eq + Hash,

Source§

impl<T, B> MappedEq for json_ld::ValidId<T, B>
where T: PartialEq, B: PartialEq,

Source§

impl<T, B> MappedEq for Node<T, B>
where T: Eq + Hash, B: Eq + Hash,

Source§

impl<T, B> MappedEq for Properties<T, B>
where T: Eq + Hash, B: Eq + Hash,

Source§

impl<T, B> MappedEq for ReverseProperties<T, B>
where T: Eq + Hash, B: Eq + Hash,

Source§

impl<T, B> MappedEq for List<T, B>
where T: Eq + Hash, B: Eq + Hash,