pub struct TypeKey {
pub scope: Option<String>,
pub name: String,
}Expand description
Canonical identity for a user-defined type — same shape and
reasoning as FnKey. Refined records, sum types, and opaque
records all live in the IR keyed by TypeKey so a bare AST
reference (Expr::RecordCreate { type_name: "Natural" }) is
resolved once at the IR boundary against the caller’s owning
scope, never re-resolved per emit site.
Fields§
§scope: Option<String>§name: StringImplementations§
Trait Implementations§
impl Eq for TypeKey
impl StructuralPartialEq for TypeKey
Auto Trait Implementations§
impl Freeze for TypeKey
impl RefUnwindSafe for TypeKey
impl Send for TypeKey
impl Sync for TypeKey
impl Unpin for TypeKey
impl UnsafeUnpin for TypeKey
impl UnwindSafe for TypeKey
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
Mutably borrows from an owned value. Read more
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.