Expand description

Variants of ForeignFunction.

This is a bit of a hack around Rust’s type system not supporting disjoint generic implementations. Each implementation has a corresponding marker zero variant enum in this module, such that eg. the traits ForeignFunction<foreign::GenericResult> and ForeignFunction<foreign::Infallible> are different, but can both be matched by using a generic parameter.

Structs

A bare fallible function.
A fallible function with RawSelf.
A fallible function with typed self.
Marker for a method that has an immutable self (&self).
A bare infallible function.
An infallible function with RawSelf.
An infallible function with typed self.
Marker for a method that has a mutable self (&mut self).

Enums

A bare varargs fallible function.
A bare varargs infallible function.

Traits

Marker trait for all functions that don’t accept a self reference as the first parameter.
Marker trait for all functions that accept a self reference as the first parameter.
Defines the common Receiver type of ImmutableSelf and MutableSelf.