pub trait EvalContextExt<'tcx>: MiriInterpCxExt<'tcx> {
// Provided methods
fn getaddrinfo(
&mut self,
node: &OpTy<'tcx>,
service: &OpTy<'tcx>,
hints: &OpTy<'tcx>,
res: &OpTy<'tcx>,
) -> InterpResult<'tcx, Scalar> { ... }
fn freeaddrinfo(&mut self, res: &OpTy<'tcx>) -> InterpResult<'tcx> { ... }
fn read_socket_address(
&self,
address: &OpTy<'tcx>,
address_len: &OpTy<'tcx>,
foreign_name: &'static str,
) -> InterpResult<'tcx, Result<SocketAddr, IoError>> { ... }
fn write_socket_address(
&mut self,
address: &SocketAddr,
address_ptr: Pointer,
address_len_ptr: Pointer,
foreign_name: &'static str,
) -> InterpResult<'tcx> { ... }
}Provided Methods§
fn getaddrinfo( &mut self, node: &OpTy<'tcx>, service: &OpTy<'tcx>, hints: &OpTy<'tcx>, res: &OpTy<'tcx>, ) -> InterpResult<'tcx, Scalar>
fn freeaddrinfo(&mut self, res: &OpTy<'tcx>) -> InterpResult<'tcx>
Sourcefn read_socket_address(
&self,
address: &OpTy<'tcx>,
address_len: &OpTy<'tcx>,
foreign_name: &'static str,
) -> InterpResult<'tcx, Result<SocketAddr, IoError>>
fn read_socket_address( &self, address: &OpTy<'tcx>, address_len: &OpTy<'tcx>, foreign_name: &'static str, ) -> InterpResult<'tcx, Result<SocketAddr, IoError>>
Attempt to turn an address and length operand into a standard library socket address.
Returns an IO error should the address length not match the address family length.
Sourcefn write_socket_address(
&mut self,
address: &SocketAddr,
address_ptr: Pointer,
address_len_ptr: Pointer,
foreign_name: &'static str,
) -> InterpResult<'tcx>
fn write_socket_address( &mut self, address: &SocketAddr, address_ptr: Pointer, address_len_ptr: Pointer, foreign_name: &'static str, ) -> InterpResult<'tcx>
Attempt to write a standard library socket address into a pointer.
The address_len_ptr parameter serves both as input and output parameter.
On input, it points to the size of the buffer address_ptr points to, and
on output it points to the non-truncated size of the written address in the
buffer pointed to by address_ptr.
If the address buffer doesn’t fit the whole address, the address is truncated to not overflow the buffer.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".