Skip to main content

MappedEq

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".

Implementations on Foreign Types§

Source§

impl<'u, U, T> MappedEq<&'u U> for &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 as MappedEq<&'u U>>::BlankId) -> &'b <&T as MappedEq<&'u U>>::BlankId, <&T as MappedEq<&'u U>>::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,

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 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 [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,

Implementors§

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T, B> MappedEq for Object<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> MappedEq for Indexed<T>
where T: MappedEq,