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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions