Skip to content

Commit 550241f

Browse files
committed
Polish API reference examples
1 parent 6310bd4 commit 550241f

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,11 +176,53 @@ let _ = Outer::Wrap::A;
176176
### `#[nestum]` on enums
177177
Enables nested paths and match rewriting.
178178

179+
```rust
180+
use nestum::nestum;
181+
182+
#[nestum]
183+
pub enum Inner { A, B }
184+
185+
#[nestum]
186+
pub enum Outer { Wrap(Inner) }
187+
188+
let _ = Outer::Wrap::A;
189+
```
190+
179191
### `#[nestum(external = "path::to::Enum")]` on variants
180192
Opt-in support for nesting an enum in another module file.
181193

194+
```rust
195+
use nestum::nestum;
196+
197+
mod inner;
198+
199+
#[nestum]
200+
pub enum Outer {
201+
#[nestum(external = "crate::inner::Inner")]
202+
Wrap(Inner),
203+
}
204+
```
205+
182206
### `nestum_match! { match value { ... } }` / `nested! { match value { ... } }`
183207
Rewrites nested patterns (like `Event::Documents::Update`) into real enum patterns.
184208

209+
```rust
210+
use nestum::{nestum, nested};
211+
212+
#[nestum]
213+
pub enum Inner { A, B }
214+
215+
#[nestum]
216+
pub enum Outer { Wrap(Inner) }
217+
218+
let value = Outer::Wrap::A;
219+
nested! {
220+
match value {
221+
Outer::Wrap::A => {}
222+
Outer::Wrap::B => {}
223+
}
224+
}
225+
```
226+
185227
## License
186228
MIT

0 commit comments

Comments
 (0)