Index: include/deque
===================================================================
--- include/deque	(revision 187794)
+++ include/deque	(working copy)
@@ -278,7 +278,11 @@
     typedef random_access_iterator_tag  iterator_category;
     typedef _Reference                  reference;
 
-    _LIBCPP_INLINE_VISIBILITY __deque_iterator() _NOEXCEPT {}
+    _LIBCPP_INLINE_VISIBILITY __deque_iterator() _NOEXCEPT
+#if _LIBCPP_STD_VER > 11
+     : __m_iter_(nullptr), __ptr_(nullptr)
+#endif
+     {}
 
     template <class _Pp, class _Rp, class _MP>
     _LIBCPP_INLINE_VISIBILITY
Index: test/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp
===================================================================
--- test/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp	(revision 187794)
+++ test/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp	(working copy)
@@ -120,4 +120,23 @@
         C::const_iterator j;
     }
 #endif
+#if _LIBCPP_STD_VER > 11
+    { // N3664 testing
+        std::forward_list<int>::iterator ii1{}, ii2{};
+        std::forward_list<int>::iterator ii4 = ii1;
+        std::forward_list<int>::const_iterator cii{};
+        assert ( ii1 == ii2 );
+        assert ( ii1 == ii4 );
+        assert ( ii1 == cii );
+
+        assert ( !(ii1 != ii2 ));
+        assert ( !(ii1 != cii ));
+
+//         std::forward_list<int> c;
+//         assert ( ii1 != c.cbegin());
+//         assert ( cii != c.begin());
+//         assert ( cii != c.cend());
+//         assert ( ii1 != c.end());
+    }
+#endif
 }
Index: test/containers/sequences/deque/iterators.pass.cpp
===================================================================
--- test/containers/sequences/deque/iterators.pass.cpp	(revision 187794)
+++ test/containers/sequences/deque/iterators.pass.cpp	(working copy)
@@ -44,4 +44,23 @@
     assert(i == j);
     }
 #endif
+#if _LIBCPP_STD_VER > 11
+    { // N3664 testing
+        std::deque<int>::iterator ii1{}, ii2{};
+        std::deque<int>::iterator ii4 = ii1;
+        std::deque<int>::const_iterator cii{};
+        assert ( ii1 == ii2 );
+        assert ( ii1 == ii4 );
+        assert ( ii1 == cii );
+
+        assert ( !(ii1 != ii2 ));
+        assert ( !(ii1 != cii ));
+
+//         std::deque<int> c;
+//         assert ( ii1 != c.cbegin());
+//         assert ( cii != c.begin());
+//         assert ( cii != c.cend());
+//         assert ( ii1 != c.end());
+    }
+#endif
 }
