pub enum CallKind {
Regular,
TupleStructConstructor,
AssertType,
UfcsMethod,
NativeConstructor(NativeTypeKind),
NativeMethod(NativeTypeKind),
NativeMethodIdentifier(NativeTypeKind),
ReceiverMethodUfcs {
is_public: bool,
},
}Expand description
What a call expression resolved to during type checking.
Pre-computed in semantics to avoid re-derivation in the emitter’s call dispatch.
Variants§
Regular
Regular function or method call
TupleStructConstructor
Tuple struct constructor (e.g., Point(1, 2))
AssertType
Type assertion (assert_type)
UfcsMethod
UFCS method call: receiver.method() where method is a free function
NativeConstructor(NativeTypeKind)
Native type constructor (e.g., Channel.new, Map.new, Slice.new)
NativeMethod(NativeTypeKind)
Native type instance method via dot access (e.g., slice.append(x))
NativeMethodIdentifier(NativeTypeKind)
Native type method via identifier (e.g., Slice.contains(s, x))
ReceiverMethodUfcs
Receiver method in UFCS syntax: Type.method(receiver, args)
Trait Implementations§
impl Copy for CallKind
impl Eq for CallKind
impl StructuralPartialEq for CallKind
Auto Trait Implementations§
impl Freeze for CallKind
impl RefUnwindSafe for CallKind
impl Send for CallKind
impl Sync for CallKind
impl Unpin for CallKind
impl UnsafeUnpin for CallKind
impl UnwindSafe for CallKind
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