Skip to content

Commit 370869b

Browse files
committed
Improve tests for AsVariant derive macro
1 parent 5d0ebc1 commit 370869b

File tree

11 files changed

+45
-51
lines changed

11 files changed

+45
-51
lines changed

tests/derive-tests/as_variant/fail/non_clone.err.txt

Lines changed: 0 additions & 19 deletions
This file was deleted.

tests/derive-tests/as_variant/fail/non_clone.out.rs

Lines changed: 0 additions & 13 deletions
This file was deleted.

tests/derive-tests/as_variant/fail/non_clone.rs

Lines changed: 0 additions & 18 deletions
This file was deleted.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
error: Only enums can use this derive
2+
--> /tests/derive-tests/as_variant/fail/struct.rs:4:12
3+
|
4+
4 | pub struct Struct {
5+
| ^^^^^^
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
use enumcapsulate::AsVariant;
2+
pub struct Struct {
3+
field: (),
4+
}
5+
fn main() {}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
use enumcapsulate::AsVariant;
2+
3+
#[derive(AsVariant)]
4+
pub struct Struct {
5+
field: (),
6+
}
7+
8+
fn main() {}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
error: Only enums can use this derive
2+
--> /tests/derive-tests/as_variant/fail/union.rs:4:11
3+
|
4+
4 | pub union Union {
5+
| ^^^^^
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
use enumcapsulate::AsVariant;
2+
pub union Union {
3+
field: (),
4+
}
5+
fn main() {}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
use enumcapsulate::AsVariant;
2+
3+
#[derive(AsVariant)]
4+
pub union Union {
5+
field: (),
6+
}
7+
8+
fn main() {}

tests/derive-tests/as_variant/pass/enum/mixed_variants.out.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,13 @@ impl ::core::clone::Clone for VariantB {
1515
VariantB
1616
}
1717
}
18+
pub struct VariantC;
1819
pub enum Enum {
1920
Unit,
2021
OneTupleField(VariantA),
2122
OneStructField { variant: VariantB },
23+
#[enumcapsulate(exclude)]
24+
OneExcludedTupleField(VariantA),
2225
}
2326
impl ::enumcapsulate::AsVariant<VariantA> for Enum
2427
where

0 commit comments

Comments
 (0)