fix various iterator issues (fixes #181)
diff --git a/example/issues.cpp b/example/issues.cpp
index c8af756..1fa4d57 100644
--- a/example/issues.cpp
+++ b/example/issues.cpp
@@ -57,4 +57,9 @@
         v.push_back(p4);
         return v;
     });
+
+    // #181: iterator passthrough did not compile
+    m2.def("iterator_passthrough", [](py::iterator s) -> py::iterator {
+        return py::make_iterator(std::begin(s), std::end(s));
+    });
 }
diff --git a/example/issues.py b/example/issues.py
index e0726f0..be241e1 100644
--- a/example/issues.py
+++ b/example/issues.py
@@ -6,6 +6,7 @@
 from example.issues import print_cchar, print_char
 from example.issues import DispatchIssue, dispatch_issue_go
 from example.issues import Placeholder ,return_vec_of_reference_wrapper
+from example.issues import iterator_passthrough
 
 print_cchar("const char *")
 print_char('c')
@@ -29,3 +30,5 @@
 dispatch_issue_go(b)
 
 print(return_vec_of_reference_wrapper(Placeholder(4)))
+
+print(list(iterator_passthrough(iter([3, 5, 7, 9, 11, 13, 15]))))
diff --git a/example/issues.ref b/example/issues.ref
index fce7b95..6d9a893 100644
--- a/example/issues.ref
+++ b/example/issues.ref
@@ -3,3 +3,4 @@
 Failed as expected: Tried to call pure virtual function "dispatch"
 Yay..
 [Placeholder[1], Placeholder[2], Placeholder[3], Placeholder[4]]
+[3, 5, 7, 9, 11, 13, 15]