3 releases
0.1.3 | Feb 8, 2021 |
---|---|
0.1.2 | Feb 7, 2021 |
0.1.1 |
|
0.1.0 | Feb 7, 2021 |
#2006 in Rust patterns
12KB
165 lines
displaydoc-lite
Implement the Display
trait using your standard doc comments.
This crate is a lite version of the popular crate displaydoc
.
It provides the same functionality but using a declarative macro instead
and not depending on syn
or quote
.
This crate is also usable in no_std
environments. No additional features are required for that.
Note: displaydoc-lite
still has a proc-macro as a dependency,
but it's very tiny and doesn't have any dependencies.
Example
use displaydoc_lite::displaydoc;
displaydoc! {
#[derive(Debug)]
pub enum DataStoreError {
/// data store disconnected: {_0}
Disconnect(io::Error),
/// the data for key `{_0}` is not available
Redaction(String),
/// invalid header (expected {expected}, found {found})
InvalidHeader {
expected: String,
found: String,
},
/// unknown data store error
Unknown,
}
}
Details
Listing of all supported syntax variants inside a {}
:
{var}
->write!("{}", self.var)
{_0}
->write!("{}", self.0)
{var:?}
->write!("{:?}", self.var)
{_0:?}
->write!("{:?}", self.0)
License
Licensed under either Apache License or the MIT license.