Skip to content

Commit aaeed76

Browse files
committed
Add section on #[enumcapsulate(discriminant(nested = …))] variant attribute to "README.md" file
1 parent 8135c8d commit aaeed76

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

macros/README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,33 @@ enum Enum {
279279
}
280280
```
281281
282+
##### `#[enumcapsulate(discriminant(nested = …))]`
283+
284+
Specify a nested sub-discriminant type for the generated discriminant variant.
285+
286+
> [!IMPORTANT]
287+
> This attribute is only recognized by the `VariantDiscriminant` derive macro.
288+
289+
If you wish a discriminant variant generated by the `VariantDiscriminant`
290+
derive macro to be nested, then you can do so by use
291+
of an `#[enumcapsulate(discriminant(nested = …))]` attribute:
292+
293+
```rust
294+
#[derive(VariantDiscriminant)]
295+
enum VariantA {
296+
VariantA1,
297+
VariantA2,
298+
}
299+
300+
#[derive(VariantDiscriminant)]
301+
enum Enum {
302+
#[enumcapsulate(discriminant(nested = VariantADiscriminant))]
303+
VariantA(i32),
304+
305+
VariantB { b: u32 },
306+
}
307+
```
308+
282309
## Generics
283310
284311
There is limited support for generic enums:

0 commit comments

Comments
 (0)