pub struct CompatibilityJoinKey {
pub file: String,
pub start_line: u32,
pub member: String,
}Expand description
The compatibility join key today’s shipped audit.rs joins facts by:
(file, startLine, member), with no column, end span, or compilation
identity.
This type exists only so a comparator can reproduce that legacy join
deliberately, as a named limitation – never as a stand-in for
SymbolIdentity/OccurrenceSpan equality. It derives neither
PartialEq nor Hash, so nothing can use it as identity by mistake;
CompatibilityJoinKey::joins is the one explicit comparison this type
offers.
Fields§
§file: StringThe source file.
start_line: u32The starting line the legacy join keys off.
member: StringThe member name.
Implementations§
Source§impl CompatibilityJoinKey
impl CompatibilityJoinKey
Sourcepub fn from_identity(
identity: &SymbolIdentity,
occurrence: &OccurrenceSpan,
) -> Self
pub fn from_identity( identity: &SymbolIdentity, occurrence: &OccurrenceSpan, ) -> Self
Derives the legacy join key from a full identity and occurrence.
Sourcepub fn joins(&self, other: &CompatibilityJoinKey) -> bool
pub fn joins(&self, other: &CompatibilityJoinKey) -> bool
Whether two occurrences collapse onto the same legacy join key – true for two distinct overloads or same-line calls to the same member, which is exactly the collapse this harness exists to catch.
Trait Implementations§
Source§impl Clone for CompatibilityJoinKey
impl Clone for CompatibilityJoinKey
Auto Trait Implementations§
impl Freeze for CompatibilityJoinKey
impl RefUnwindSafe for CompatibilityJoinKey
impl Send for CompatibilityJoinKey
impl Sync for CompatibilityJoinKey
impl Unpin for CompatibilityJoinKey
impl UnsafeUnpin for CompatibilityJoinKey
impl UnwindSafe for CompatibilityJoinKey
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more