summaryrefslogtreecommitdiff
path: root/libbindgen/src/codegen/mod.rs
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2017-01-13 21:40:17 +0100
committerEmilio Cobos Álvarez <emilio@crisal.io>2017-01-13 21:40:17 +0100
commit0ceeaf8d34b85da08a127db6668854b9ca5a1a54 (patch)
tree0ce0288298d131af2e24d39c1abffc8de86d9fe7 /libbindgen/src/codegen/mod.rs
parentdfb25b389bec5492b6fd61e92a2552cab03a6afc (diff)
codegen: Fix use generation for non-root module.
Diffstat (limited to 'libbindgen/src/codegen/mod.rs')
-rw-r--r--libbindgen/src/codegen/mod.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/libbindgen/src/codegen/mod.rs b/libbindgen/src/codegen/mod.rs
index b4388020..932e2b75 100644
--- a/libbindgen/src/codegen/mod.rs
+++ b/libbindgen/src/codegen/mod.rs
@@ -538,7 +538,13 @@ impl CodeGenerator for Type {
_ => None,
};
- let typedef = if let Some(p) = simple_enum_path {
+ let typedef = if let Some(mut p) = simple_enum_path {
+ if p.segments.len() == 1 {
+ p.segments.insert(0, ast::PathSegment {
+ identifier: ctx.ext_cx().ident_of("self"),
+ parameters: None,
+ });
+ }
typedef.use_().build(p).as_(rust_name)
} else {
let mut generics = typedef.type_(rust_name).generics();