pub struct RawWakerVTable { /* private fields */ }
Expand description
A virtual function pointer table (vtable) that specifies the behavior
of a RawWaker
.
The pointer passed to all functions inside the vtable is the data
pointer
from the enclosing RawWaker
object.
The functions inside this struct are only intended to be called on the data
pointer of a properly constructed RawWaker
object from inside the
RawWaker
implementation. Calling one of the contained functions using
any other data
pointer will cause undefined behavior.
Note that while this type implements PartialEq
, comparing function pointers, and hence
comparing structs like this that contain function pointers, is unreliable: pointers to the same
function can compare inequal (because functions are duplicated in multiple codegen units), and
pointers to different functions can compare equal (since identical functions can be
deduplicated within a codegen unit).
§Thread safety
If the RawWaker
will be used to construct a Waker
then
these functions must all be thread-safe (even though RawWaker
is
!Send + !Sync
). This is because