Skip to content

fix: use consistent u32 type for enum constants on Windows#2

Closed
kajukitli wants to merge 0 commit intodenoland:mainfrom
kajukitli:fix/windows-enum-types
Closed

fix: use consistent u32 type for enum constants on Windows#2
kajukitli wants to merge 0 commit intodenoland:mainfrom
kajukitli:fix/windows-enum-types

Conversation

@kajukitli
Copy link
Contributor

bindgen generates C enums as i32 by default, but on Windows MSVC this can cause type mismatches when consuming code expects u32 constants.

Use EnumVariation::Consts to generate all enum constants as u32 for cross-platform consistency.

Fixes build errors like:

error[E0308]: mismatched types
   --> ext\node\ops\http2\types.rs:240:27
    |
240 |     nghttp2_hcat_request: ffi::NGHTTP2_HCAT_REQUEST,
    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `i32`

See failing CI: https://github.com/denoland/deno/actions/runs/22631099295/job/65581121314?pr=32418

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant