Skip to content

libc: remove uses of enum as per #4419 #4575

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

mbyx
Copy link
Contributor

@mbyx mbyx commented Jul 24, 2025

Description

Removes all uses of enums, replacing them with c_enums. Since c_enums creates numeric types and constants, cfg_attrs were also removed for deriving Copy and Clone. As per #4419

Additionally allow c_enum to take more than one enum as input, similar to the other macros.

Sources

Checklist

  • Relevant tests in libc-test/semver have been updated
  • No placeholder or unstable values like *LAST or *MAX are
    included (see #3131)
  • Tested locally (cd libc-test && cargo test --target mytarget);
    especially relevant for platforms that may not be checked in CI

@mbyx mbyx force-pushed the libc-remove-enum branch 4 times, most recently from 99cd358 to 2f1e1da Compare July 24, 2025 08:13
@mbyx mbyx marked this pull request as ready for review July 24, 2025 08:34
@rustbot
Copy link
Collaborator

rustbot commented Jul 24, 2025

Some changes occurred in solarish module

cc @jclulow, @pfmooney

src/macros.rs Outdated
(
($(
$(#[repr($repr:ty)])?
enum $ty_name:ident {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could this require the pub keyword since we make the types pub? Similar to the other macros

@@ -798,7 +798,6 @@ s! {
}

// linux/openat2.h
#[non_exhaustive]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are these changes here?

@tgross35 tgross35 added the stable-declined This change is breaking, difficult to backport, low priority, or otherwise not relevant for 0.2 label Jul 26, 2025
@mbyx mbyx force-pushed the libc-remove-enum branch from 2f1e1da to 86305e5 Compare July 26, 2025 13:54
@mbyx mbyx force-pushed the libc-remove-enum branch from 86305e5 to a541bf4 Compare July 26, 2025 13:56
@mbyx mbyx requested a review from tgross35 July 26, 2025 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O-dragonfly O-linux O-macos O-solarish O-unix S-waiting-on-review stable-declined This change is breaking, difficult to backport, low priority, or otherwise not relevant for 0.2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants