Skip to content

Commit 8afd840

Browse files
committed
Remove C validation
1 parent d2f96a6 commit 8afd840

File tree

3 files changed

+65
-200
lines changed

3 files changed

+65
-200
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [Unreleased]
9+
10+
### Changed
11+
- Remove unnecessary validation of the default discriminant type for enums.
12+
813
## [1.2.5] - 2023-09-03
914

1015
### Changed

src/test/discriminant.rs

Lines changed: 36 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,10 @@ fn default() -> Result<()> {
1515
#[cfg(not(feature = "nightly"))]
1616
let partial_ord = quote! {
1717
const fn __discriminant(__this: &Test) -> isize {
18-
const __VALIDATE_ISIZE_A: isize = 0;
19-
const __VALIDATE_ISIZE_B: isize = (0) + 1;
20-
const __VALIDATE_ISIZE_C: isize = (0) + 2;
21-
2218
match __this {
23-
Test::A => __VALIDATE_ISIZE_A,
24-
Test::B => __VALIDATE_ISIZE_B,
25-
Test::C => __VALIDATE_ISIZE_C
19+
Test::A => 0,
20+
Test::B => (0) + 1,
21+
Test::C => (0) + 2
2622
}
2723
}
2824

@@ -65,10 +61,6 @@ fn default_clone() -> Result<()> {
6561
};
6662
#[cfg(not(feature = "nightly"))]
6763
let partial_ord = quote! {
68-
const __VALIDATE_ISIZE_A: isize = 0;
69-
const __VALIDATE_ISIZE_B: isize = (0) + 1;
70-
const __VALIDATE_ISIZE_C: isize = (0) + 2;
71-
7264
::core::cmp::PartialOrd::partial_cmp(&(::core::clone::Clone::clone(self) as isize), &(::core::clone::Clone::clone(__other) as isize))
7365
};
7466

@@ -119,10 +111,6 @@ fn default_copy() -> Result<()> {
119111
};
120112
#[cfg(not(feature = "nightly"))]
121113
let partial_ord = quote! {
122-
const __VALIDATE_ISIZE_A: isize = 0;
123-
const __VALIDATE_ISIZE_B: isize = (0) + 1;
124-
const __VALIDATE_ISIZE_C: isize = (0) + 2;
125-
126114
::core::cmp::PartialOrd::partial_cmp(&(*self as isize), &(*__other as isize))
127115
};
128116

@@ -165,14 +153,10 @@ fn default_reverse() -> Result<()> {
165153
#[cfg(not(feature = "nightly"))]
166154
let partial_ord = quote! {
167155
const fn __discriminant(__this: &Test) -> isize {
168-
const __VALIDATE_ISIZE_A: isize = 2;
169-
const __VALIDATE_ISIZE_B: isize = 1;
170-
const __VALIDATE_ISIZE_C: isize = 0;
171-
172156
match __this {
173-
Test::A => __VALIDATE_ISIZE_A,
174-
Test::B => __VALIDATE_ISIZE_B,
175-
Test::C => __VALIDATE_ISIZE_C
157+
Test::A => 2,
158+
Test::B => 1,
159+
Test::C => 0
176160
}
177161
}
178162

@@ -216,16 +200,11 @@ fn default_mix() -> Result<()> {
216200
#[cfg(not(feature = "nightly"))]
217201
let partial_ord = quote! {
218202
const fn __discriminant(__this: &Test) -> isize {
219-
const __VALIDATE_ISIZE_A: isize = 1;
220-
const __VALIDATE_ISIZE_B: isize = 0;
221-
const __VALIDATE_ISIZE_C: isize = 2;
222-
const __VALIDATE_ISIZE_D: isize = (2) + 1;
223-
224203
match __this {
225-
Test::A => __VALIDATE_ISIZE_A,
226-
Test::B => __VALIDATE_ISIZE_B,
227-
Test::C => __VALIDATE_ISIZE_C,
228-
Test::D => __VALIDATE_ISIZE_D
204+
Test::A => 1,
205+
Test::B => 0,
206+
Test::C => 2,
207+
Test::D => (2) + 1
229208
}
230209
}
231210

@@ -270,18 +249,12 @@ fn default_skip() -> Result<()> {
270249
#[cfg(not(feature = "nightly"))]
271250
let partial_ord = quote! {
272251
const fn __discriminant(__this: &Test) -> isize {
273-
const __VALIDATE_ISIZE_A: isize = 0;
274-
const __VALIDATE_ISIZE_B: isize = 3;
275-
const __VALIDATE_ISIZE_C: isize = (3) + 1;
276-
const __VALIDATE_ISIZE_D: isize = (3) + 2;
277-
const __VALIDATE_ISIZE_E: isize = (3) + 3;
278-
279252
match __this {
280-
Test::A => __VALIDATE_ISIZE_A,
281-
Test::B => __VALIDATE_ISIZE_B,
282-
Test::C => __VALIDATE_ISIZE_C,
283-
Test::D => __VALIDATE_ISIZE_D,
284-
Test::E => __VALIDATE_ISIZE_E
253+
Test::A => 0,
254+
Test::B => 3,
255+
Test::C => (3) + 1,
256+
Test::D => (3) + 2,
257+
Test::E => (3) + 3
285258
}
286259
}
287260

@@ -327,14 +300,10 @@ fn default_expr() -> Result<()> {
327300
#[cfg(not(feature = "nightly"))]
328301
let partial_ord = quote! {
329302
const fn __discriminant(__this: &Test) -> isize {
330-
const __VALIDATE_ISIZE_A: isize = isize::MAX - 2;
331-
const __VALIDATE_ISIZE_B: isize = (isize::MAX - 2) + 1;
332-
const __VALIDATE_ISIZE_C: isize = (isize::MAX - 2) + 2;
333-
334303
match __this {
335-
Test::A => __VALIDATE_ISIZE_A,
336-
Test::B => __VALIDATE_ISIZE_B,
337-
Test::C => __VALIDATE_ISIZE_C
304+
Test::A => isize::MAX - 2,
305+
Test::B => (isize::MAX - 2) + 1,
306+
Test::C => (isize::MAX - 2) + 2
338307
}
339308
}
340309

@@ -378,14 +347,10 @@ fn repr_c() -> Result<()> {
378347
#[cfg(not(feature = "nightly"))]
379348
let partial_ord = quote! {
380349
const fn __discriminant(__this: &Test) -> isize {
381-
const __VALIDATE_ISIZE_A: isize = 0;
382-
const __VALIDATE_ISIZE_B: isize = (0) + 1;
383-
const __VALIDATE_ISIZE_C: isize = (0) + 2;
384-
385350
match __this {
386-
Test::A => __VALIDATE_ISIZE_A,
387-
Test::B => __VALIDATE_ISIZE_B,
388-
Test::C => __VALIDATE_ISIZE_C
351+
Test::A => 0,
352+
Test::B => (0) + 1,
353+
Test::C => (0) + 2
389354
}
390355
}
391356

@@ -477,10 +442,6 @@ fn repr_c_clone() -> Result<()> {
477442
};
478443
#[cfg(not(feature = "nightly"))]
479444
let partial_ord = quote! {
480-
const __VALIDATE_ISIZE_A: isize = 0;
481-
const __VALIDATE_ISIZE_B: isize = (0) + 1;
482-
const __VALIDATE_ISIZE_C: isize = (0) + 2;
483-
484445
::core::cmp::PartialOrd::partial_cmp(&(::core::clone::Clone::clone(self) as isize), &(::core::clone::Clone::clone(__other) as isize))
485446
};
486447

@@ -583,10 +544,6 @@ fn repr_c_copy() -> Result<()> {
583544
};
584545
#[cfg(not(feature = "nightly"))]
585546
let partial_ord = quote! {
586-
const __VALIDATE_ISIZE_A: isize = 0;
587-
const __VALIDATE_ISIZE_B: isize = (0) + 1;
588-
const __VALIDATE_ISIZE_C: isize = (0) + 2;
589-
590547
::core::cmp::PartialOrd::partial_cmp(&(*self as isize), &(*__other as isize))
591548
};
592549

@@ -672,14 +629,10 @@ fn repr_c_reverse() -> Result<()> {
672629
#[cfg(not(feature = "nightly"))]
673630
let partial_ord = quote! {
674631
const fn __discriminant(__this: &Test) -> isize {
675-
const __VALIDATE_ISIZE_A: isize = 2;
676-
const __VALIDATE_ISIZE_B: isize = 1;
677-
const __VALIDATE_ISIZE_C: isize = 0;
678-
679632
match __this {
680-
Test::A => __VALIDATE_ISIZE_A,
681-
Test::B => __VALIDATE_ISIZE_B,
682-
Test::C => __VALIDATE_ISIZE_C
633+
Test::A => 2,
634+
Test::B => 1,
635+
Test::C => 0
683636
}
684637
}
685638

@@ -724,16 +677,11 @@ fn repr_c_mix() -> Result<()> {
724677
#[cfg(not(feature = "nightly"))]
725678
let partial_ord = quote! {
726679
const fn __discriminant(__this: &Test) -> isize {
727-
const __VALIDATE_ISIZE_A: isize = 1;
728-
const __VALIDATE_ISIZE_B: isize = 0;
729-
const __VALIDATE_ISIZE_C: isize = 2;
730-
const __VALIDATE_ISIZE_D: isize = (2) + 1;
731-
732680
match __this {
733-
Test::A => __VALIDATE_ISIZE_A,
734-
Test::B => __VALIDATE_ISIZE_B,
735-
Test::C => __VALIDATE_ISIZE_C,
736-
Test::D => __VALIDATE_ISIZE_D
681+
Test::A => 1,
682+
Test::B => 0,
683+
Test::C => 2,
684+
Test::D => (2) + 1
737685
}
738686
}
739687

@@ -779,18 +727,12 @@ fn repr_c_skip() -> Result<()> {
779727
#[cfg(not(feature = "nightly"))]
780728
let partial_ord = quote! {
781729
const fn __discriminant(__this: &Test) -> isize {
782-
const __VALIDATE_ISIZE_A: isize = 0;
783-
const __VALIDATE_ISIZE_B: isize = 3;
784-
const __VALIDATE_ISIZE_C: isize = (3) + 1;
785-
const __VALIDATE_ISIZE_D: isize = (3) + 2;
786-
const __VALIDATE_ISIZE_E: isize = (3) + 3;
787-
788730
match __this {
789-
Test::A => __VALIDATE_ISIZE_A,
790-
Test::B => __VALIDATE_ISIZE_B,
791-
Test::C => __VALIDATE_ISIZE_C,
792-
Test::D => __VALIDATE_ISIZE_D,
793-
Test::E => __VALIDATE_ISIZE_E
731+
Test::A => 0,
732+
Test::B => 3,
733+
Test::C => (3) + 1,
734+
Test::D => (3) + 2,
735+
Test::E => (3) + 3
794736
}
795737
}
796738

@@ -837,14 +779,10 @@ fn repr_c_expr() -> Result<()> {
837779
#[cfg(not(feature = "nightly"))]
838780
let partial_ord = quote! {
839781
const fn __discriminant(__this: &Test) -> isize {
840-
const __VALIDATE_ISIZE_A: isize = isize::MAX - 2;
841-
const __VALIDATE_ISIZE_B: isize = (isize::MAX - 2) + 1;
842-
const __VALIDATE_ISIZE_C: isize = (isize::MAX - 2) + 2;
843-
844782
match __this {
845-
Test::A => __VALIDATE_ISIZE_A,
846-
Test::B => __VALIDATE_ISIZE_B,
847-
Test::C => __VALIDATE_ISIZE_C
783+
Test::A => isize::MAX - 2,
784+
Test::B => (isize::MAX - 2) + 1,
785+
Test::C => (isize::MAX - 2) + 2
848786
}
849787
}
850788

0 commit comments

Comments
 (0)