pub struct SemanticTarget {
pub to_def_id: String,
pub to_file: String,
pub overload_signature: Option<String>,
}Expand description
One translated, override-ready target: the devscout def id/file the
compiler’s own confirmed occurrence names, resolved to the specific enum
member def when the containing type is an enum, the same way the
resolver’s own enum branch does for an extractor-emitted reference.
overload_signature carries the admitted occurrence’s own signature
alongside to_def_id/to_file – never folded into the compatibility
key, but part of THIS target’s own exact identity, so dedup (both here
and in lookup’s own resolved_targets.dedup()) keys on the full fact
rather than only on which TYPE it names: two same-line overloads of one
member on the SAME type carry the SAME to_def_id/to_file and must
stay two distinct targets, while two admitted records of the genuinely
SAME occurrence (same type, same overload) must still collapse to one.
Fields§
§to_def_id: StringThe devscout def id the compiler’s target translates to.
to_file: StringThat def’s own declaring file.
overload_signature: Option<String>The admitted occurrence’s own overload signature, when it named one.
Trait Implementations§
Source§impl Clone for SemanticTarget
impl Clone for SemanticTarget
Source§impl Debug for SemanticTarget
impl Debug for SemanticTarget
impl Eq for SemanticTarget
Source§impl PartialEq for SemanticTarget
impl PartialEq for SemanticTarget
impl StructuralPartialEq for SemanticTarget
Auto Trait Implementations§
impl Freeze for SemanticTarget
impl RefUnwindSafe for SemanticTarget
impl Send for SemanticTarget
impl Sync for SemanticTarget
impl Unpin for SemanticTarget
impl UnsafeUnpin for SemanticTarget
impl UnwindSafe for SemanticTarget
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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