pub struct IntersectionView { /* private fields */ }Expand description
The conjunction of several filters: an attribute is visible only when every part admits it.
This is how the evaluator combines the views of several successful paths — intersecting visibility constraints rather than taking the widest, so holding one more relation can never reveal more than holding it alone.
Implementations§
Source§impl IntersectionView
impl IntersectionView
Sourcepub fn new(parts: Vec<Arc<dyn ViewFilter>>) -> Self
pub fn new(parts: Vec<Arc<dyn ViewFilter>>) -> Self
Intersects parts.
Trait Implementations§
Source§impl Clone for IntersectionView
impl Clone for IntersectionView
Source§fn clone(&self) -> IntersectionView
fn clone(&self) -> IntersectionView
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for IntersectionView
impl Debug for IntersectionView
Source§impl ViewFilter for IntersectionView
impl ViewFilter for IntersectionView
Source§fn attribute_visible(&self, attribute: &str) -> bool
fn attribute_visible(&self, attribute: &str) -> bool
Whether datoms of
attribute (a keyword ident like :person/email) are
visible to the principal.Auto Trait Implementations§
impl !RefUnwindSafe for IntersectionView
impl !UnwindSafe for IntersectionView
impl Freeze for IntersectionView
impl Send for IntersectionView
impl Sync for IntersectionView
impl Unpin for IntersectionView
impl UnsafeUnpin for IntersectionView
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request