mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-16 00:00:12 +02:00
This change adds an extension trait to `BufStream` and puts the core trait behind a feature flag for optional use. This mainly adds the additional functions in an extension trait to allow the user to select if they want just the core trait or the fully featured version. Now the user can add the core feature to _not_ include the extension trait. By deafult, this feature is disabled.
36 lines
785 B
Rust
36 lines
785 B
Rust
//! Error types
|
|
|
|
#[cfg(feature = "ext")]
|
|
pub use ext::CollectError;
|
|
#[cfg(feature = "ext")]
|
|
pub use ext::CollectVecError;
|
|
#[cfg(feature = "ext")]
|
|
pub use ext::LimitError;
|
|
|
|
// Being crate-private, we should be able to swap the type out in a
|
|
// backwards compatible way.
|
|
pub(crate) mod internal {
|
|
use std::{error, fmt};
|
|
|
|
/// An error that can never occur
|
|
pub enum Never {}
|
|
|
|
impl fmt::Debug for Never {
|
|
fn fmt(&self, _f: &mut fmt::Formatter) -> fmt::Result {
|
|
match *self {}
|
|
}
|
|
}
|
|
|
|
impl fmt::Display for Never {
|
|
fn fmt(&self, _f: &mut fmt::Formatter) -> fmt::Result {
|
|
match *self {}
|
|
}
|
|
}
|
|
|
|
impl error::Error for Never {
|
|
fn description(&self) -> &str {
|
|
match *self {}
|
|
}
|
|
}
|
|
}
|