Mark CxxVector iterator as FusedIterator

The contract is that once it's returned None, it is guaranteed to
continue returning None as many time as called again.
diff --git a/src/cxx_vector.rs b/src/cxx_vector.rs
index 31dc11c..d4bd711 100644
--- a/src/cxx_vector.rs
+++ b/src/cxx_vector.rs
@@ -6,6 +6,7 @@
 use crate::string::CxxString;
 use core::ffi::c_void;
 use core::fmt::{self, Debug, Display};
+use core::iter::FusedIterator;
 use core::marker::{PhantomData, PhantomPinned};
 use core::mem;
 use core::ptr;
@@ -147,6 +148,8 @@
     }
 }
 
+impl<'a, T> FusedIterator for Iter<'a, T> where T: VectorElement {}
+
 impl<T> Debug for CxxVector<T>
 where
     T: VectorElement + Debug,