pub trait Argument: Sized {
// Required methods
fn read(read: &mut dyn BufRead) -> Result<Self, Error>;
fn write(&self, write: &mut dyn Write) -> Result<(), Error>;
// Provided methods
fn read_with_space(read: &mut dyn BufRead) -> Result<Self, Error> { ... }
fn parse_text(text: &str) -> Self { ... }
fn bytes(&self) -> Vec<u8> ⓘ { ... }
fn to_string(&self) -> String { ... }
}
Expand description
An argument to a command.
Required Methods§
fn read(read: &mut dyn BufRead) -> Result<Self, Error>
fn write(&self, write: &mut dyn Write) -> Result<(), Error>
Provided Methods§
Sourcefn read_with_space(read: &mut dyn BufRead) -> Result<Self, Error>
fn read_with_space(read: &mut dyn BufRead) -> Result<Self, Error>
Read an argument with a leading space character.
Most argument types don’t care about leading spaces. These
types can instead override read
.
fn parse_text(text: &str) -> Self
fn bytes(&self) -> Vec<u8> ⓘ
fn to_string(&self) -> String
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.