Ash uses a [custom macro vk_bitflags_wrapped!](https://github.com/MaikKlein/ash/blob/master/ash/src/vk/macros.rs#L18), that is not specific to Vulkan. It could instead use bitflags! macro for [generating a more complete rust code](https://docs.rs/bitflags/1.2.1/bitflags/example_generated/struct.Flags.html). This crate is used by [many other rust projects](https://crates.io/crates/bitflags/reverse_dependencies).