pub struct Instantiation {
pub anchor: Anchor,
pub definition: String,
pub definition_end_line: Option<u32>,
pub artifact_match_key: Option<String>,
pub instantiation_key: String,
pub arguments: Vec<u32>,
}Expand description
Where an instantiated body came from.
Fields§
§anchor: AnchorWhere the instantiated code sits.
definition: StringThe generic or template it was instantiated from.
definition_end_line: Option<u32>One-based final line of the generic or template definition when the compiler reported a complete source range.
This is a source anchor used to contain nested members of a class template during artifact correlation. It is not an identity.
artifact_match_key: Option<String>Optional compiler-produced spelling used only to correlate a source specialization with a demangled artifact symbol.
This is comparison evidence, not a stable identity or a replacement
for Self::definition or Self::instantiation_key.
instantiation_key: StringWhat groups every instantiation of that definition together.
Two bodies with the same key are the same source text with different substitutions — one thing written once, not two things that agree.
arguments: Vec<u32>The type arguments substituted, as indices into CompilerIr::types.
Trait Implementations§
Source§impl Clone for Instantiation
impl Clone for Instantiation
Source§fn clone(&self) -> Instantiation
fn clone(&self) -> Instantiation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more