Crates.io | doxed |
lib.rs | doxed |
version | 0.1.1 |
source | src |
created_at | 2024-06-01 20:49:34.17564 |
updated_at | 2024-06-02 02:31:48.296162 |
description | A crate for making Rust doc strings available at runtime. |
homepage | |
repository | https://github.com/npmccallum/doxed |
max_upload_size | |
id | 1258874 |
size | 4,350 |
Doxed is a crate for making Rust doc strings available at runtime.
This crate provides a trait, Doxed
, which can be derived for any type to
make its doc strings available at runtime. The doc string is specified
using the #[doc = "..."]
attribute or, more commonly, the Rust doc
comment (///
).
Note that when deriving Doxed
, the doc string is not modified in any way.
This preserves the original formatting, including leading whitespace and
line breaks. If you want to do any processing on the doc string, you can
easily do so at runtime without additional derive magic.
use doxed::Doxed;
/// This is an example struct.
///
/// Multiple lines are supported.
#[doc = "So are manual doc attributes."]
#[derive(Doxed)]
struct Example<'a, T>(&'a T);
assert_eq!(Example::<()>::DOX, &[
" This is an example struct.",
"",
" Multiple lines are supported.",
"So are manual doc attributes."
]);
License: Apache-2.0