summaryrefslogtreecommitdiff
path: root/src/codegen/mod.rs
diff options
context:
space:
mode:
authorChristian Legnitto <christian@legnitto.com>2019-01-03 13:57:45 -0800
committerChristian Legnitto <christian@legnitto.com>2019-01-03 13:57:45 -0800
commit4eaca743b257ae51f5f80aa279a8faaefc98ffac (patch)
treea517dbf69a8f00fb94e404051a4942384bb480d9 /src/codegen/mod.rs
parent651605fb8eb8683165f56d1dd53413573cf24ba3 (diff)
Bitfield enums use #[repr(transparent)] on Rust 1.28+
Fixes https://github.com/rust-lang/rust-bindgen/issues/1474.
Diffstat (limited to 'src/codegen/mod.rs')
-rw-r--r--src/codegen/mod.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs
index 898df167..6fd7e7d3 100644
--- a/src/codegen/mod.rs
+++ b/src/codegen/mod.rs
@@ -2573,7 +2573,11 @@ impl CodeGenerator for Enum {
if variation.is_rust() {
attrs.push(attributes::repr(repr_name));
} else if variation.is_bitfield() {
- attrs.push(attributes::repr("C"));
+ if ctx.options().rust_features.repr_transparent {
+ attrs.push(attributes::repr("transparent"));
+ } else {
+ attrs.push(attributes::repr("C"));
+ }
}
if let Some(comment) = item.comment(ctx) {