pub trait TakeError {
type Ok: Error + Send + Sync;
type Err: Error + Send + Sync;
// Required method
fn take_error(&self) -> Result<Option<Self::Ok>, Self::Err>;
}Expand description
Extract an error from the underlying struct that isn’t propagated through regular channels.
This is common in TcpListener / UdsStream structs where this trait can
be used to access the SO_ERROR option on the socket.
Both Ok and Err are error types. If no error exists take_error should
return Ok(None).