A struct representing a single code cross-reference. Taking a cue from crate::linearview::LinearDisassemblyLine, this struct uses ManuallyDrop to prevent destructors from being run on the Function object allocated by the core in BNGetCodeReferences (et al). The reference is cleaned up on Drop of the enclosing array object.
A struct representing a single data cross-reference. Data references have no associated metadata, so this object has only a single DataReference::address attribute.