Auto merge of #1126 - emilio:b, r=pepyakin

Minor version bump.

Again, just fixes, and I got FF to build with #1124.
diff --git a/src/ir/ty.rs b/src/ir/ty.rs
index bfb4c48..9a51c2b 100644
--- a/src/ir/ty.rs
+++ b/src/ir/ty.rs
@@ -925,18 +925,21 @@
                                         CXCursor_TypeAliasDecl => {
                                             let current = cur.cur_type();
 
-                                            debug_assert!(current.kind() ==
-                                                          CXType_Typedef);
+                                            debug_assert_eq!(
+                                                current.kind(),
+                                                CXType_Typedef
+                                            );
 
                                             name = current.spelling();
 
                                             let inner_ty = cur.typedef_type()
                                                 .expect("Not valid Type?");
-                                            inner =
-                                                Item::from_ty(&inner_ty,
-                                                              cur,
-                                                              Some(potential_id),
-                                                              ctx);
+                                            inner = Ok(Item::from_ty_or_ref(
+                                                inner_ty,
+                                                cur,
+                                                Some(potential_id),
+                                                ctx,
+                                            ));
                                         }
                                         CXCursor_TemplateTypeParameter => {
                                             let param =
diff --git a/tests/expectations/tests/issue-1118-using-forward-decl.rs b/tests/expectations/tests/issue-1118-using-forward-decl.rs
new file mode 100644
index 0000000..2753762
--- /dev/null
+++ b/tests/expectations/tests/issue-1118-using-forward-decl.rs
@@ -0,0 +1,119 @@
+/* automatically generated by rust-bindgen */
+
+
+#![allow(dead_code, non_snake_case, non_camel_case_types, non_upper_case_globals)]
+
+
+pub type c = nsTArray;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct nsTArray_base {
+    pub d: *mut ::std::os::raw::c_int,
+}
+#[test]
+fn bindgen_test_layout_nsTArray_base() {
+    assert_eq!(
+        ::std::mem::size_of::<nsTArray_base>(),
+        8usize,
+        concat!("Size of: ", stringify!(nsTArray_base))
+    );
+    assert_eq!(
+        ::std::mem::align_of::<nsTArray_base>(),
+        8usize,
+        concat!("Alignment of ", stringify!(nsTArray_base))
+    );
+    assert_eq!(
+        unsafe { &(*(0 as *const nsTArray_base)).d as *const _ as usize },
+        0usize,
+        concat!(
+            "Alignment of field: ",
+            stringify!(nsTArray_base),
+            "::",
+            stringify!(d)
+        )
+    );
+}
+impl Default for nsTArray_base {
+    fn default() -> Self {
+        unsafe { ::std::mem::zeroed() }
+    }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct nsTArray {
+    pub _base: nsTArray_base,
+}
+impl Default for nsTArray {
+    fn default() -> Self {
+        unsafe { ::std::mem::zeroed() }
+    }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct nsIContent {
+    pub foo: nsTArray,
+}
+#[test]
+fn bindgen_test_layout_nsIContent() {
+    assert_eq!(
+        ::std::mem::size_of::<nsIContent>(),
+        8usize,
+        concat!("Size of: ", stringify!(nsIContent))
+    );
+    assert_eq!(
+        ::std::mem::align_of::<nsIContent>(),
+        8usize,
+        concat!("Alignment of ", stringify!(nsIContent))
+    );
+    assert_eq!(
+        unsafe { &(*(0 as *const nsIContent)).foo as *const _ as usize },
+        0usize,
+        concat!(
+            "Alignment of field: ",
+            stringify!(nsIContent),
+            "::",
+            stringify!(foo)
+        )
+    );
+}
+impl Default for nsIContent {
+    fn default() -> Self {
+        unsafe { ::std::mem::zeroed() }
+    }
+}
+extern "C" {
+    #[link_name = "\u{1}_Z35Gecko_GetAnonymousContentForElementv"]
+    pub fn Gecko_GetAnonymousContentForElement() -> *mut nsTArray;
+}
+#[test]
+fn __bindgen_test_layout_nsTArray_open0_ptr_nsIContent_close0_instantiation() {
+    assert_eq!(
+        ::std::mem::size_of::<nsTArray>(),
+        8usize,
+        concat!("Size of template specialization: ", stringify!(nsTArray))
+    );
+    assert_eq!(
+        ::std::mem::align_of::<nsTArray>(),
+        8usize,
+        concat!(
+            "Alignment of template specialization: ",
+            stringify!(nsTArray)
+        )
+    );
+}
+#[test]
+fn __bindgen_test_layout_nsTArray_open0_ptr_nsIContent_close0_instantiation_1() {
+    assert_eq!(
+        ::std::mem::size_of::<nsTArray>(),
+        8usize,
+        concat!("Size of template specialization: ", stringify!(nsTArray))
+    );
+    assert_eq!(
+        ::std::mem::align_of::<nsTArray>(),
+        8usize,
+        concat!(
+            "Alignment of template specialization: ",
+            stringify!(nsTArray)
+        )
+    );
+}
diff --git a/tests/headers/issue-1118-using-forward-decl.hpp b/tests/headers/issue-1118-using-forward-decl.hpp
new file mode 100644
index 0000000..b6ea63f
--- /dev/null
+++ b/tests/headers/issue-1118-using-forward-decl.hpp
@@ -0,0 +1,10 @@
+template <class> class nsTArray;
+template <class b> using c = nsTArray<b>;
+class nsTArray_base {
+  int *d;
+};
+template <class> class nsTArray : nsTArray_base {};
+class nsIContent {
+  nsTArray<nsIContent *> foo;
+};
+nsTArray<nsIContent*> *Gecko_GetAnonymousContentForElement();