support for brace initialization
diff --git a/tests/test_class.cpp b/tests/test_class.cpp
index af7b0bf..842991a 100644
--- a/tests/test_class.cpp
+++ b/tests/test_class.cpp
@@ -280,6 +280,17 @@
#else
.def("foo", static_cast<int (ProtectedB::*)() const>(&PublicistB::foo));
#endif
+
+ // test_brace_initialization
+ struct BraceInitialization {
+ int field1;
+ std::string field2;
+ };
+
+ py::class_<BraceInitialization>(m, "BraceInitialization")
+ .def(py::init<int, const std::string &>())
+ .def_readwrite("field1", &BraceInitialization::field1)
+ .def_readwrite("field2", &BraceInitialization::field2);
}
template <int N> class BreaksBase { public: virtual ~BreaksBase() = default; };
diff --git a/tests/test_class.py b/tests/test_class.py
index c8ff857..b2cc275 100644
--- a/tests/test_class.py
+++ b/tests/test_class.py
@@ -195,3 +195,10 @@
c = C()
assert c.foo() == 0
+
+
+def test_brace_initialization():
+ """ Tests that simple POD classes can be constructed using C++11 brace initialization """
+ a = m.BraceInitialization(123, "test")
+ assert a.field1 == 123
+ assert a.field2 == "test"