summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <ecoal95@gmail.com>2016-09-22 02:45:20 +0200
committerEmilio Cobos Álvarez <ecoal95@gmail.com>2016-09-22 02:45:20 +0200
commitdd45e455fa7e6f1877091a584c7872e750678bb9 (patch)
tree1d3bd75d741b990a66ac6e721ac6dff90e458be7
parent6ed0253913afc0c0258eaedfb27d87322250f2b2 (diff)
Test weird edge cases with template params and stuff.
-rw-r--r--tests/expectations/struct_with_typedef_template_arg.rs15
-rw-r--r--tests/headers/struct_with_typedef_template_arg.hpp4
2 files changed, 19 insertions, 0 deletions
diff --git a/tests/expectations/struct_with_typedef_template_arg.rs b/tests/expectations/struct_with_typedef_template_arg.rs
new file mode 100644
index 00000000..6f8d71f1
--- /dev/null
+++ b/tests/expectations/struct_with_typedef_template_arg.rs
@@ -0,0 +1,15 @@
+/* automatically generated by rust-bindgen */
+
+
+#![allow(non_snake_case)]
+
+
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Proxy<T, Args> {
+ pub _address: u8,
+ pub _phantom_0: ::std::marker::PhantomData<T>,
+ pub _phantom_1: ::std::marker::PhantomData<Args>,
+}
+pub type Proxy_foo<T> =
+ ::std::option::Option<unsafe extern "C" fn(bar: *mut T)>;
diff --git a/tests/headers/struct_with_typedef_template_arg.hpp b/tests/headers/struct_with_typedef_template_arg.hpp
new file mode 100644
index 00000000..7fed21ab
--- /dev/null
+++ b/tests/headers/struct_with_typedef_template_arg.hpp
@@ -0,0 +1,4 @@
+template<typename T, typename ...Args>
+struct Proxy {
+ typedef void (*foo)(T* bar);
+};