Skip to content

Commit

Permalink
Remove C validation
Browse files Browse the repository at this point in the history
  • Loading branch information
daxpedda committed Sep 3, 2023
1 parent d2f96a6 commit 8afd840
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 200 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Changed
- Remove unnecessary validation of the default discriminant type for enums.

## [1.2.5] - 2023-09-03

### Changed
Expand Down
134 changes: 36 additions & 98 deletions src/test/discriminant.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,10 @@ fn default() -> Result<()> {
#[cfg(not(feature = "nightly"))]
let partial_ord = quote! {
const fn __discriminant(__this: &Test) -> isize {
const __VALIDATE_ISIZE_A: isize = 0;
const __VALIDATE_ISIZE_B: isize = (0) + 1;
const __VALIDATE_ISIZE_C: isize = (0) + 2;

match __this {
Test::A => __VALIDATE_ISIZE_A,
Test::B => __VALIDATE_ISIZE_B,
Test::C => __VALIDATE_ISIZE_C
Test::A => 0,
Test::B => (0) + 1,
Test::C => (0) + 2
}
}

Expand Down Expand Up @@ -65,10 +61,6 @@ fn default_clone() -> Result<()> {
};
#[cfg(not(feature = "nightly"))]
let partial_ord = quote! {
const __VALIDATE_ISIZE_A: isize = 0;
const __VALIDATE_ISIZE_B: isize = (0) + 1;
const __VALIDATE_ISIZE_C: isize = (0) + 2;

::core::cmp::PartialOrd::partial_cmp(&(::core::clone::Clone::clone(self) as isize), &(::core::clone::Clone::clone(__other) as isize))
};

Expand Down Expand Up @@ -119,10 +111,6 @@ fn default_copy() -> Result<()> {
};
#[cfg(not(feature = "nightly"))]
let partial_ord = quote! {
const __VALIDATE_ISIZE_A: isize = 0;
const __VALIDATE_ISIZE_B: isize = (0) + 1;
const __VALIDATE_ISIZE_C: isize = (0) + 2;

::core::cmp::PartialOrd::partial_cmp(&(*self as isize), &(*__other as isize))
};

Expand Down Expand Up @@ -165,14 +153,10 @@ fn default_reverse() -> Result<()> {
#[cfg(not(feature = "nightly"))]
let partial_ord = quote! {
const fn __discriminant(__this: &Test) -> isize {
const __VALIDATE_ISIZE_A: isize = 2;
const __VALIDATE_ISIZE_B: isize = 1;
const __VALIDATE_ISIZE_C: isize = 0;

match __this {
Test::A => __VALIDATE_ISIZE_A,
Test::B => __VALIDATE_ISIZE_B,
Test::C => __VALIDATE_ISIZE_C
Test::A => 2,
Test::B => 1,
Test::C => 0
}
}

Expand Down Expand Up @@ -216,16 +200,11 @@ fn default_mix() -> Result<()> {
#[cfg(not(feature = "nightly"))]
let partial_ord = quote! {
const fn __discriminant(__this: &Test) -> isize {
const __VALIDATE_ISIZE_A: isize = 1;
const __VALIDATE_ISIZE_B: isize = 0;
const __VALIDATE_ISIZE_C: isize = 2;
const __VALIDATE_ISIZE_D: isize = (2) + 1;

match __this {
Test::A => __VALIDATE_ISIZE_A,
Test::B => __VALIDATE_ISIZE_B,
Test::C => __VALIDATE_ISIZE_C,
Test::D => __VALIDATE_ISIZE_D
Test::A => 1,
Test::B => 0,
Test::C => 2,
Test::D => (2) + 1
}
}

Expand Down Expand Up @@ -270,18 +249,12 @@ fn default_skip() -> Result<()> {
#[cfg(not(feature = "nightly"))]
let partial_ord = quote! {
const fn __discriminant(__this: &Test) -> isize {
const __VALIDATE_ISIZE_A: isize = 0;
const __VALIDATE_ISIZE_B: isize = 3;
const __VALIDATE_ISIZE_C: isize = (3) + 1;
const __VALIDATE_ISIZE_D: isize = (3) + 2;
const __VALIDATE_ISIZE_E: isize = (3) + 3;

match __this {
Test::A => __VALIDATE_ISIZE_A,
Test::B => __VALIDATE_ISIZE_B,
Test::C => __VALIDATE_ISIZE_C,
Test::D => __VALIDATE_ISIZE_D,
Test::E => __VALIDATE_ISIZE_E
Test::A => 0,
Test::B => 3,
Test::C => (3) + 1,
Test::D => (3) + 2,
Test::E => (3) + 3
}
}

Expand Down Expand Up @@ -327,14 +300,10 @@ fn default_expr() -> Result<()> {
#[cfg(not(feature = "nightly"))]
let partial_ord = quote! {
const fn __discriminant(__this: &Test) -> isize {
const __VALIDATE_ISIZE_A: isize = isize::MAX - 2;
const __VALIDATE_ISIZE_B: isize = (isize::MAX - 2) + 1;
const __VALIDATE_ISIZE_C: isize = (isize::MAX - 2) + 2;

match __this {
Test::A => __VALIDATE_ISIZE_A,
Test::B => __VALIDATE_ISIZE_B,
Test::C => __VALIDATE_ISIZE_C
Test::A => isize::MAX - 2,
Test::B => (isize::MAX - 2) + 1,
Test::C => (isize::MAX - 2) + 2
}
}

Expand Down Expand Up @@ -378,14 +347,10 @@ fn repr_c() -> Result<()> {
#[cfg(not(feature = "nightly"))]
let partial_ord = quote! {
const fn __discriminant(__this: &Test) -> isize {
const __VALIDATE_ISIZE_A: isize = 0;
const __VALIDATE_ISIZE_B: isize = (0) + 1;
const __VALIDATE_ISIZE_C: isize = (0) + 2;

match __this {
Test::A => __VALIDATE_ISIZE_A,
Test::B => __VALIDATE_ISIZE_B,
Test::C => __VALIDATE_ISIZE_C
Test::A => 0,
Test::B => (0) + 1,
Test::C => (0) + 2
}
}

Expand Down Expand Up @@ -477,10 +442,6 @@ fn repr_c_clone() -> Result<()> {
};
#[cfg(not(feature = "nightly"))]
let partial_ord = quote! {
const __VALIDATE_ISIZE_A: isize = 0;
const __VALIDATE_ISIZE_B: isize = (0) + 1;
const __VALIDATE_ISIZE_C: isize = (0) + 2;

::core::cmp::PartialOrd::partial_cmp(&(::core::clone::Clone::clone(self) as isize), &(::core::clone::Clone::clone(__other) as isize))
};

Expand Down Expand Up @@ -583,10 +544,6 @@ fn repr_c_copy() -> Result<()> {
};
#[cfg(not(feature = "nightly"))]
let partial_ord = quote! {
const __VALIDATE_ISIZE_A: isize = 0;
const __VALIDATE_ISIZE_B: isize = (0) + 1;
const __VALIDATE_ISIZE_C: isize = (0) + 2;

::core::cmp::PartialOrd::partial_cmp(&(*self as isize), &(*__other as isize))
};

Expand Down Expand Up @@ -672,14 +629,10 @@ fn repr_c_reverse() -> Result<()> {
#[cfg(not(feature = "nightly"))]
let partial_ord = quote! {
const fn __discriminant(__this: &Test) -> isize {
const __VALIDATE_ISIZE_A: isize = 2;
const __VALIDATE_ISIZE_B: isize = 1;
const __VALIDATE_ISIZE_C: isize = 0;

match __this {
Test::A => __VALIDATE_ISIZE_A,
Test::B => __VALIDATE_ISIZE_B,
Test::C => __VALIDATE_ISIZE_C
Test::A => 2,
Test::B => 1,
Test::C => 0
}
}

Expand Down Expand Up @@ -724,16 +677,11 @@ fn repr_c_mix() -> Result<()> {
#[cfg(not(feature = "nightly"))]
let partial_ord = quote! {
const fn __discriminant(__this: &Test) -> isize {
const __VALIDATE_ISIZE_A: isize = 1;
const __VALIDATE_ISIZE_B: isize = 0;
const __VALIDATE_ISIZE_C: isize = 2;
const __VALIDATE_ISIZE_D: isize = (2) + 1;

match __this {
Test::A => __VALIDATE_ISIZE_A,
Test::B => __VALIDATE_ISIZE_B,
Test::C => __VALIDATE_ISIZE_C,
Test::D => __VALIDATE_ISIZE_D
Test::A => 1,
Test::B => 0,
Test::C => 2,
Test::D => (2) + 1
}
}

Expand Down Expand Up @@ -779,18 +727,12 @@ fn repr_c_skip() -> Result<()> {
#[cfg(not(feature = "nightly"))]
let partial_ord = quote! {
const fn __discriminant(__this: &Test) -> isize {
const __VALIDATE_ISIZE_A: isize = 0;
const __VALIDATE_ISIZE_B: isize = 3;
const __VALIDATE_ISIZE_C: isize = (3) + 1;
const __VALIDATE_ISIZE_D: isize = (3) + 2;
const __VALIDATE_ISIZE_E: isize = (3) + 3;

match __this {
Test::A => __VALIDATE_ISIZE_A,
Test::B => __VALIDATE_ISIZE_B,
Test::C => __VALIDATE_ISIZE_C,
Test::D => __VALIDATE_ISIZE_D,
Test::E => __VALIDATE_ISIZE_E
Test::A => 0,
Test::B => 3,
Test::C => (3) + 1,
Test::D => (3) + 2,
Test::E => (3) + 3
}
}

Expand Down Expand Up @@ -837,14 +779,10 @@ fn repr_c_expr() -> Result<()> {
#[cfg(not(feature = "nightly"))]
let partial_ord = quote! {
const fn __discriminant(__this: &Test) -> isize {
const __VALIDATE_ISIZE_A: isize = isize::MAX - 2;
const __VALIDATE_ISIZE_B: isize = (isize::MAX - 2) + 1;
const __VALIDATE_ISIZE_C: isize = (isize::MAX - 2) + 2;

match __this {
Test::A => __VALIDATE_ISIZE_A,
Test::B => __VALIDATE_ISIZE_B,
Test::C => __VALIDATE_ISIZE_C
Test::A => isize::MAX - 2,
Test::B => (isize::MAX - 2) + 1,
Test::C => (isize::MAX - 2) + 2
}
}

Expand Down
Loading

0 comments on commit 8afd840

Please sign in to comment.