Add a test for buffer format of unbound struct
diff --git a/example/example20.cpp b/example/example20.cpp
index 77cda6b..662dc47 100644
--- a/example/example20.cpp
+++ b/example/example20.cpp
@@ -44,6 +44,8 @@
     return os << "n:a=" << v.a << ";b=" << v.b;
 }
 
+struct UnboundStruct { };
+
 template <typename T>
 py::array mkarray_via_buffer(size_t n) {
     return py::array(py::buffer_info(nullptr, sizeof(T),
@@ -61,6 +63,10 @@
     return arr;
 }
 
+std::string get_format_unbound() {
+    return py::format_descriptor<UnboundStruct>::format();
+}
+
 py::array_t<NestedStruct> create_nested(size_t n) {
     auto arr = mkarray_via_buffer<NestedStruct>(n);
     auto ptr = static_cast<NestedStruct*>(arr.request().ptr);
@@ -107,4 +113,5 @@
     m.def("print_rec_packed", &print_recarray<PackedStruct>);
     m.def("print_rec_nested", &print_recarray<NestedStruct>);
     m.def("print_dtypes", &print_dtypes);
+    m.def("get_format_unbound", &get_format_unbound);
 }
diff --git a/example/example20.py b/example/example20.py
index c581cf3..e0a0018 100644
--- a/example/example20.py
+++ b/example/example20.py
@@ -1,16 +1,20 @@
 #!/usr/bin/env python
 from __future__ import print_function
 
+import unittest
 import numpy as np
 from example import (
     create_rec_simple, create_rec_packed, create_rec_nested, print_format_descriptors,
-    print_rec_simple, print_rec_packed, print_rec_nested, print_dtypes
+    print_rec_simple, print_rec_packed, print_rec_nested, print_dtypes, get_format_unbound
 )
 
 
 def check_eq(arr, data, dtype):
     np.testing.assert_equal(arr, np.array(data, dtype=dtype))
 
+unittest.TestCase().assertRaisesRegex(
+    RuntimeError, 'unsupported buffer format', get_format_unbound)
+
 print_format_descriptors()
 print_dtypes()