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.
```rust 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,
}
}
```
Listing of all supported syntax variants inside a {}
:
- {var}
-> write!("{}", self.var)
- {_0}
-> write!("{}", self.0)
- {var:?}
-> write!("{:?}", self.var)
- {_0:?}
-> write!("{:?}", self.0)
Licensed under either Apache License or the MIT license.