diff options
| author | Steve Klabnik <steve@steveklabnik.com> | 2015-03-23 17:05:45 -0400 |
|---|---|---|
| committer | Steve Klabnik <steve@steveklabnik.com> | 2015-03-23 17:05:45 -0400 |
| commit | 71b9ba1e5b243e52b7c2828e35137eeba378d43f (patch) | |
| tree | 5310a054a46477b1e696a513ba9b19bf7ef4dfb3 | |
| parent | 8b6c0fd410ac118e5159b727f33649af5d5442fa (diff) | |
| parent | fbc823d1e337e546b5bf7e6fc53f26b51a8583f2 (diff) | |
| download | rust-71b9ba1e5b243e52b7c2828e35137eeba378d43f.tar.gz rust-71b9ba1e5b243e52b7c2828e35137eeba378d43f.zip | |
Rollup merge of #23618 - steveklabnik:gh23571, r=alexcrichton
Fixes #23571
| -rw-r--r-- | src/doc/trpl/documentation.md | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/doc/trpl/documentation.md b/src/doc/trpl/documentation.md index 8e5b3b6a7f0..7300753cc66 100644 --- a/src/doc/trpl/documentation.md +++ b/src/doc/trpl/documentation.md @@ -333,6 +333,41 @@ By repeating all parts of the example, you can ensure that your example still compiles, while only showing the parts that are relevant to that part of your explanation. +### Documenting macros + +Here’s an example of documenting a macro: + +``` +/// Panic with a given message unless an expression evaluates to true. +/// +/// # Examples +/// +/// ``` +/// # #[macro_use] extern crate foo; +/// # fn main() { +/// panic_unless!(1 + 1 == 2, “Math is broken.”); +/// # } +/// ``` +/// +/// ```should_fail +/// # #[macro_use] extern crate foo; +/// # fn main() { +/// panic_unless!(true == false, “I’m broken.”); +/// # } +/// ``` +#[macro_export] +macro_rules! panic_unless { + ($condition:expr, $($rest:expr),+) => ({ if ! $condition { panic!($($rest),+); } }); +} +``` + +You’ll note three things: we need to add our own `extern crate` line, so that +we can add the `#[macro_use]` attribute. Second, we’ll need to add our own +`main()` as well. Finally, a judicious use of `#` to comment out those two +things, so they don’t show up in the output. + +### Running documentation tests + To run the tests, either ```bash |
