Skip to content

rustified_enum("*") no longer works as of 0.62 #2373

@jestarray

Description

@jestarray

Input C/C++ Header

Relevant crate: https://github.com/jestarray/fmod-sys

What regex should I use now that "*" does not work anymore? I know a few other bindgen crates that use wildcard.

typedef enum FMOD_RESULT
{
    FMOD_OK,
    FMOD_ERR_BADCOMMAND,
    FMOD_ERR_CHANNEL_ALLOC,
    FMOD_ERR_CHANNEL_STOLEN,
    FMOD_ERR_DMA,
    FMOD_ERR_DSP_CONNECTION,
    FMOD_ERR_DSP_DONTPROCESS,
    FMOD_ERR_DSP_FORMAT,
    FMOD_ERR_DSP_INUSE,
    FMOD_ERR_DSP_NOTFOUND,
    FMOD_ERR_DSP_RESERVED,
    FMOD_ERR_DSP_SILENCE,
    FMOD_ERR_DSP_TYPE,
    FMOD_ERR_FILE_BAD,
    FMOD_ERR_FILE_COULDNOTSEEK,
    FMOD_ERR_FILE_DISKEJECTED,
    FMOD_ERR_FILE_EOF,
    FMOD_ERR_FILE_ENDOFDATA,
    FMOD_ERR_FILE_NOTFOUND,
    FMOD_ERR_FORMAT,
    FMOD_ERR_HEADER_MISMATCH,
    FMOD_ERR_HTTP,
    FMOD_ERR_HTTP_ACCESS,
    FMOD_ERR_HTTP_PROXY_AUTH,
    FMOD_ERR_HTTP_SERVER_ERROR,
    FMOD_ERR_HTTP_TIMEOUT,
    FMOD_ERR_INITIALIZATION,
    FMOD_ERR_INITIALIZED,
    FMOD_ERR_INTERNAL,
    FMOD_ERR_INVALID_FLOAT,
    FMOD_ERR_INVALID_HANDLE,
    FMOD_ERR_INVALID_PARAM,
    FMOD_ERR_INVALID_POSITION,
    FMOD_ERR_INVALID_SPEAKER,
    FMOD_ERR_INVALID_SYNCPOINT,
    FMOD_ERR_INVALID_THREAD,
    FMOD_ERR_INVALID_VECTOR,
    FMOD_ERR_MAXAUDIBLE,
    FMOD_ERR_MEMORY,
    FMOD_ERR_MEMORY_CANTPOINT,
    FMOD_ERR_NEEDS3D,
    FMOD_ERR_NEEDSHARDWARE,
    FMOD_ERR_NET_CONNECT,
    FMOD_ERR_NET_SOCKET_ERROR,
    FMOD_ERR_NET_URL,
    FMOD_ERR_NET_WOULD_BLOCK,
    FMOD_ERR_NOTREADY,
    FMOD_ERR_OUTPUT_ALLOCATED,
    FMOD_ERR_OUTPUT_CREATEBUFFER,
    FMOD_ERR_OUTPUT_DRIVERCALL,
    FMOD_ERR_OUTPUT_FORMAT,
    FMOD_ERR_OUTPUT_INIT,
    FMOD_ERR_OUTPUT_NODRIVERS,
    FMOD_ERR_PLUGIN,
    FMOD_ERR_PLUGIN_MISSING,
    FMOD_ERR_PLUGIN_RESOURCE,
    FMOD_ERR_PLUGIN_VERSION,
    FMOD_ERR_RECORD,
    FMOD_ERR_REVERB_CHANNELGROUP,
    FMOD_ERR_REVERB_INSTANCE,
    FMOD_ERR_SUBSOUNDS,
    FMOD_ERR_SUBSOUND_ALLOCATED,
    FMOD_ERR_SUBSOUND_CANTMOVE,
    FMOD_ERR_TAGNOTFOUND,
    FMOD_ERR_TOOMANYCHANNELS,
    FMOD_ERR_TRUNCATED,
    FMOD_ERR_UNIMPLEMENTED,
    FMOD_ERR_UNINITIALIZED,
    FMOD_ERR_UNSUPPORTED,
    FMOD_ERR_VERSION,
    FMOD_ERR_EVENT_ALREADY_LOADED,
    FMOD_ERR_EVENT_LIVEUPDATE_BUSY,
    FMOD_ERR_EVENT_LIVEUPDATE_MISMATCH,
    FMOD_ERR_EVENT_LIVEUPDATE_TIMEOUT,
    FMOD_ERR_EVENT_NOTFOUND,
    FMOD_ERR_STUDIO_UNINITIALIZED,
    FMOD_ERR_STUDIO_NOT_LOADED,
    FMOD_ERR_INVALID_STRING,
    FMOD_ERR_ALREADY_LOCKED,
    FMOD_ERR_NOT_LOCKED,
    FMOD_ERR_RECORD_DISCONNECTED,
    FMOD_ERR_TOOMANYSAMPLES,

    FMOD_RESULT_FORCEINT = 65536
} FMOD_RESULT;
bindgen::Builder::default()
        .header("core-wrapper.h")
        .rustified_enum("*")
        .derive_default(true)
        .generate()
        .expect("Unable to generate core bindings")

Actual Results

// 0.62 >=
pub const FMOD_RESULT_FMOD_OK: FMOD_RESULT = 0;
pub const FMOD_RESULT_FMOD_ERR_BADCOMMAND: FMOD_RESULT = 1;
pub const FMOD_RESULT_FMOD_ERR_CHANNEL_ALLOC: FMOD_RESULT = 2;
pub const FMOD_RESULT_FMOD_ERR_CHANNEL_STOLEN: FMOD_RESULT = 3;
pub const FMOD_RESULT_FMOD_ERR_DMA: FMOD_RESULT = 4;
pub const FMOD_RESULT_FMOD_ERR_DSP_CONNECTION: FMOD_RESULT = 5;
pub const FMOD_RESULT_FMOD_ERR_DSP_DONTPROCESS: FMOD_RESULT = 6;
pub const FMOD_RESULT_FMOD_ERR_DSP_FORMAT: FMOD_RESULT = 7;
pub const FMOD_RESULT_FMOD_ERR_DSP_INUSE: FMOD_RESULT = 8;
pub const FMOD_RESULT_FMOD_ERR_DSP_NOTFOUND: FMOD_RESULT = 9;
pub const FMOD_RESULT_FMOD_ERR_DSP_RESERVED: FMOD_RESULT = 10;
pub const FMOD_RESULT_FMOD_ERR_DSP_SILENCE: FMOD_RESULT = 11;
pub const FMOD_RESULT_FMOD_ERR_DSP_TYPE: FMOD_RESULT = 12;
pub const FMOD_RESULT_FMOD_ERR_FILE_BAD: FMOD_RESULT = 13;
pub const FMOD_RESULT_FMOD_ERR_FILE_COULDNOTSEEK: FMOD_RESULT = 14;
pub const FMOD_RESULT_FMOD_ERR_FILE_DISKEJECTED: FMOD_RESULT = 15;
pub const FMOD_RESULT_FMOD_ERR_FILE_EOF: FMOD_RESULT = 16;
pub const FMOD_RESULT_FMOD_ERR_FILE_ENDOFDATA: FMOD_RESULT = 17;
pub const FMOD_RESULT_FMOD_ERR_FILE_NOTFOUND: FMOD_RESULT = 18;
pub const FMOD_RESULT_FMOD_ERR_FORMAT: FMOD_RESULT = 19;
pub const FMOD_RESULT_FMOD_ERR_HEADER_MISMATCH: FMOD_RESULT = 20;
pub const FMOD_RESULT_FMOD_ERR_HTTP: FMOD_RESULT = 21;
pub const FMOD_RESULT_FMOD_ERR_HTTP_ACCESS: FMOD_RESULT = 22;
pub const FMOD_RESULT_FMOD_ERR_HTTP_PROXY_AUTH: FMOD_RESULT = 23;
pub const FMOD_RESULT_FMOD_ERR_HTTP_SERVER_ERROR: FMOD_RESULT = 24;
pub const FMOD_RESULT_FMOD_ERR_HTTP_TIMEOUT: FMOD_RESULT = 25;
pub const FMOD_RESULT_FMOD_ERR_INITIALIZATION: FMOD_RESULT = 26;
pub const FMOD_RESULT_FMOD_ERR_INITIALIZED: FMOD_RESULT = 27;
pub const FMOD_RESULT_FMOD_ERR_INTERNAL: FMOD_RESULT = 28;
pub const FMOD_RESULT_FMOD_ERR_INVALID_FLOAT: FMOD_RESULT = 29;
pub const FMOD_RESULT_FMOD_ERR_INVALID_HANDLE: FMOD_RESULT = 30;
pub const FMOD_RESULT_FMOD_ERR_INVALID_PARAM: FMOD_RESULT = 31;
pub const FMOD_RESULT_FMOD_ERR_INVALID_POSITION: FMOD_RESULT = 32;
pub const FMOD_RESULT_FMOD_ERR_INVALID_SPEAKER: FMOD_RESULT = 33;
pub const FMOD_RESULT_FMOD_ERR_INVALID_SYNCPOINT: FMOD_RESULT = 34;
pub const FMOD_RESULT_FMOD_ERR_INVALID_THREAD: FMOD_RESULT = 35;
pub const FMOD_RESULT_FMOD_ERR_INVALID_VECTOR: FMOD_RESULT = 36;
pub const FMOD_RESULT_FMOD_ERR_MAXAUDIBLE: FMOD_RESULT = 37;
pub const FMOD_RESULT_FMOD_ERR_MEMORY: FMOD_RESULT = 38;
pub const FMOD_RESULT_FMOD_ERR_MEMORY_CANTPOINT: FMOD_RESULT = 39;
pub const FMOD_RESULT_FMOD_ERR_NEEDS3D: FMOD_RESULT = 40;
pub const FMOD_RESULT_FMOD_ERR_NEEDSHARDWARE: FMOD_RESULT = 41;
pub const FMOD_RESULT_FMOD_ERR_NET_CONNECT: FMOD_RESULT = 42;
pub const FMOD_RESULT_FMOD_ERR_NET_SOCKET_ERROR: FMOD_RESULT = 43;
pub const FMOD_RESULT_FMOD_ERR_NET_URL: FMOD_RESULT = 44;
pub const FMOD_RESULT_FMOD_ERR_NET_WOULD_BLOCK: FMOD_RESULT = 45;
pub const FMOD_RESULT_FMOD_ERR_NOTREADY: FMOD_RESULT = 46;
pub const FMOD_RESULT_FMOD_ERR_OUTPUT_ALLOCATED: FMOD_RESULT = 47;
pub const FMOD_RESULT_FMOD_ERR_OUTPUT_CREATEBUFFER: FMOD_RESULT = 48;
pub const FMOD_RESULT_FMOD_ERR_OUTPUT_DRIVERCALL: FMOD_RESULT = 49;
pub const FMOD_RESULT_FMOD_ERR_OUTPUT_FORMAT: FMOD_RESULT = 50;
pub const FMOD_RESULT_FMOD_ERR_OUTPUT_INIT: FMOD_RESULT = 51;
pub const FMOD_RESULT_FMOD_ERR_OUTPUT_NODRIVERS: FMOD_RESULT = 52;
pub const FMOD_RESULT_FMOD_ERR_PLUGIN: FMOD_RESULT = 53;
pub const FMOD_RESULT_FMOD_ERR_PLUGIN_MISSING: FMOD_RESULT = 54;
pub const FMOD_RESULT_FMOD_ERR_PLUGIN_RESOURCE: FMOD_RESULT = 55;
pub const FMOD_RESULT_FMOD_ERR_PLUGIN_VERSION: FMOD_RESULT = 56;
pub const FMOD_RESULT_FMOD_ERR_RECORD: FMOD_RESULT = 57;
pub const FMOD_RESULT_FMOD_ERR_REVERB_CHANNELGROUP: FMOD_RESULT = 58;
pub const FMOD_RESULT_FMOD_ERR_REVERB_INSTANCE: FMOD_RESULT = 59;
pub const FMOD_RESULT_FMOD_ERR_SUBSOUNDS: FMOD_RESULT = 60;
pub const FMOD_RESULT_FMOD_ERR_SUBSOUND_ALLOCATED: FMOD_RESULT = 61;
pub const FMOD_RESULT_FMOD_ERR_SUBSOUND_CANTMOVE: FMOD_RESULT = 62;
pub const FMOD_RESULT_FMOD_ERR_TAGNOTFOUND: FMOD_RESULT = 63;
pub const FMOD_RESULT_FMOD_ERR_TOOMANYCHANNELS: FMOD_RESULT = 64;
pub const FMOD_RESULT_FMOD_ERR_TRUNCATED: FMOD_RESULT = 65;
pub const FMOD_RESULT_FMOD_ERR_UNIMPLEMENTED: FMOD_RESULT = 66;
pub const FMOD_RESULT_FMOD_ERR_UNINITIALIZED: FMOD_RESULT = 67;
pub const FMOD_RESULT_FMOD_ERR_UNSUPPORTED: FMOD_RESULT = 68;
pub const FMOD_RESULT_FMOD_ERR_VERSION: FMOD_RESULT = 69;
pub const FMOD_RESULT_FMOD_ERR_EVENT_ALREADY_LOADED: FMOD_RESULT = 70;
pub const FMOD_RESULT_FMOD_ERR_EVENT_LIVEUPDATE_BUSY: FMOD_RESULT = 71;
pub const FMOD_RESULT_FMOD_ERR_EVENT_LIVEUPDATE_MISMATCH: FMOD_RESULT = 72;
pub const FMOD_RESULT_FMOD_ERR_EVENT_LIVEUPDATE_TIMEOUT: FMOD_RESULT = 73;
pub const FMOD_RESULT_FMOD_ERR_EVENT_NOTFOUND: FMOD_RESULT = 74;
pub const FMOD_RESULT_FMOD_ERR_STUDIO_UNINITIALIZED: FMOD_RESULT = 75;
pub const FMOD_RESULT_FMOD_ERR_STUDIO_NOT_LOADED: FMOD_RESULT = 76;
pub const FMOD_RESULT_FMOD_ERR_INVALID_STRING: FMOD_RESULT = 77;
pub const FMOD_RESULT_FMOD_ERR_ALREADY_LOCKED: FMOD_RESULT = 78;
pub const FMOD_RESULT_FMOD_ERR_NOT_LOCKED: FMOD_RESULT = 79;
pub const FMOD_RESULT_FMOD_ERR_RECORD_DISCONNECTED: FMOD_RESULT = 80;
pub const FMOD_RESULT_FMOD_ERR_TOOMANYSAMPLES: FMOD_RESULT = 81;
pub const FMOD_RESULT_FMOD_RESULT_FORCEINT: FMOD_RESULT = 65536;
pub type FMOD_RESULT = ::std::os::raw::c_uint;

Expected Results

#[repr(u32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum FMOD_RESULT {
    FMOD_OK = 0,
    FMOD_ERR_BADCOMMAND = 1,
    FMOD_ERR_CHANNEL_ALLOC = 2,
    FMOD_ERR_CHANNEL_STOLEN = 3,
    FMOD_ERR_DMA = 4,
    FMOD_ERR_DSP_CONNECTION = 5,
    FMOD_ERR_DSP_DONTPROCESS = 6,
    FMOD_ERR_DSP_FORMAT = 7,
    FMOD_ERR_DSP_INUSE = 8,
    FMOD_ERR_DSP_NOTFOUND = 9,
    FMOD_ERR_DSP_RESERVED = 10,
    FMOD_ERR_DSP_SILENCE = 11,
    FMOD_ERR_DSP_TYPE = 12,
    FMOD_ERR_FILE_BAD = 13,
    FMOD_ERR_FILE_COULDNOTSEEK = 14,
    FMOD_ERR_FILE_DISKEJECTED = 15,
    FMOD_ERR_FILE_EOF = 16,
    FMOD_ERR_FILE_ENDOFDATA = 17,
    FMOD_ERR_FILE_NOTFOUND = 18,
    FMOD_ERR_FORMAT = 19,
    FMOD_ERR_HEADER_MISMATCH = 20,
    FMOD_ERR_HTTP = 21,
    FMOD_ERR_HTTP_ACCESS = 22,
    FMOD_ERR_HTTP_PROXY_AUTH = 23,
    FMOD_ERR_HTTP_SERVER_ERROR = 24,
    FMOD_ERR_HTTP_TIMEOUT = 25,
    FMOD_ERR_INITIALIZATION = 26,
    FMOD_ERR_INITIALIZED = 27,
    FMOD_ERR_INTERNAL = 28,
    FMOD_ERR_INVALID_FLOAT = 29,
    FMOD_ERR_INVALID_HANDLE = 30,
    FMOD_ERR_INVALID_PARAM = 31,
    FMOD_ERR_INVALID_POSITION = 32,
    FMOD_ERR_INVALID_SPEAKER = 33,
    FMOD_ERR_INVALID_SYNCPOINT = 34,
    FMOD_ERR_INVALID_THREAD = 35,
    FMOD_ERR_INVALID_VECTOR = 36,
    FMOD_ERR_MAXAUDIBLE = 37,
    FMOD_ERR_MEMORY = 38,
    FMOD_ERR_MEMORY_CANTPOINT = 39,
    FMOD_ERR_NEEDS3D = 40,
    FMOD_ERR_NEEDSHARDWARE = 41,
    FMOD_ERR_NET_CONNECT = 42,
    FMOD_ERR_NET_SOCKET_ERROR = 43,
    FMOD_ERR_NET_URL = 44,
    FMOD_ERR_NET_WOULD_BLOCK = 45,
    FMOD_ERR_NOTREADY = 46,
    FMOD_ERR_OUTPUT_ALLOCATED = 47,
    FMOD_ERR_OUTPUT_CREATEBUFFER = 48,
    FMOD_ERR_OUTPUT_DRIVERCALL = 49,
    FMOD_ERR_OUTPUT_FORMAT = 50,
    FMOD_ERR_OUTPUT_INIT = 51,
    FMOD_ERR_OUTPUT_NODRIVERS = 52,
    FMOD_ERR_PLUGIN = 53,
    FMOD_ERR_PLUGIN_MISSING = 54,
    FMOD_ERR_PLUGIN_RESOURCE = 55,
    FMOD_ERR_PLUGIN_VERSION = 56,
    FMOD_ERR_RECORD = 57,
    FMOD_ERR_REVERB_CHANNELGROUP = 58,
    FMOD_ERR_REVERB_INSTANCE = 59,
    FMOD_ERR_SUBSOUNDS = 60,
    FMOD_ERR_SUBSOUND_ALLOCATED = 61,
    FMOD_ERR_SUBSOUND_CANTMOVE = 62,
    FMOD_ERR_TAGNOTFOUND = 63,
    FMOD_ERR_TOOMANYCHANNELS = 64,
    FMOD_ERR_TRUNCATED = 65,
    FMOD_ERR_UNIMPLEMENTED = 66,
    FMOD_ERR_UNINITIALIZED = 67,
    FMOD_ERR_UNSUPPORTED = 68,
    FMOD_ERR_VERSION = 69,
    FMOD_ERR_EVENT_ALREADY_LOADED = 70,
    FMOD_ERR_EVENT_LIVEUPDATE_BUSY = 71,
    FMOD_ERR_EVENT_LIVEUPDATE_MISMATCH = 72,
    FMOD_ERR_EVENT_LIVEUPDATE_TIMEOUT = 73,
    FMOD_ERR_EVENT_NOTFOUND = 74,
    FMOD_ERR_STUDIO_UNINITIALIZED = 75,
    FMOD_ERR_STUDIO_NOT_LOADED = 76,
    FMOD_ERR_INVALID_STRING = 77,
    FMOD_ERR_ALREADY_LOCKED = 78,
    FMOD_ERR_NOT_LOCKED = 79,
    FMOD_ERR_RECORD_DISCONNECTED = 80,
    FMOD_ERR_TOOMANYSAMPLES = 81,
    FMOD_RESULT_FORCEINT = 65536,
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions