Struct clippy_utils::SpanlessEq
source · [−]pub struct SpanlessEq<'a, 'tcx> {
cx: &'a LateContext<'tcx>,
maybe_typeck_results: Option<&'tcx TypeckResults<'tcx>>,
allow_side_effects: bool,
expr_fallback: Option<Box<dyn FnMut(&Expr<'_>, &Expr<'_>) -> bool + 'a>>,
}Expand description
Type used to check whether two ast are the same. This is different from the
operator
== on ast types as this operator would compare true equality with ID and
span.
Note that some expressions kinds are not considered but could be added.
Fields
cx: &'a LateContext<'tcx>Context used to evaluate constant expressions.
maybe_typeck_results: Option<&'tcx TypeckResults<'tcx>>allow_side_effects: boolexpr_fallback: Option<Box<dyn FnMut(&Expr<'_>, &Expr<'_>) -> bool + 'a>>Implementations
Consider expressions containing potential side effects as not equal.
pub fn expr_fallback(
self,
expr_fallback: impl FnMut(&Expr<'_>, &Expr<'_>) -> bool + 'a
) -> Self
Use this method to wrap comparisons that may involve inter-expression context.
See self.locals.
pub fn eq_path_segments(
&mut self,
left: &[PathSegment<'_>],
right: &[PathSegment<'_>]
) -> bool
Auto Trait Implementations
impl<'a, 'tcx> !RefUnwindSafe for SpanlessEq<'a, 'tcx>
impl<'a, 'tcx> !Send for SpanlessEq<'a, 'tcx>
impl<'a, 'tcx> !Sync for SpanlessEq<'a, 'tcx>
impl<'a, 'tcx> Unpin for SpanlessEq<'a, 'tcx> where
'tcx: 'a,
impl<'a, 'tcx> !UnwindSafe for SpanlessEq<'a, 'tcx>
Blanket Implementations
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 40 bytes