Add static assertions on type equality of Vec iterators
diff --git a/src/cxx.cc b/src/cxx.cc
index 28506ef..cd72d82 100644
--- a/src/cxx.cc
+++ b/src/cxx.cc
@@ -191,6 +191,16 @@
static_assert(std::is_trivially_destructible<Slice<uint8_t>>::value,
"trivial ~Slice()");
+static_assert(std::is_same<Vec<uint8_t>::const_iterator,
+ Vec<const uint8_t>::iterator>::value,
+ "Vec<T>::const_iterator == Vec<const T>::iterator");
+static_assert(std::is_same<Vec<const uint8_t>::const_iterator,
+ Vec<const uint8_t>::iterator>::value,
+ "Vec<const T>::const_iterator == Vec<const T>::iterator");
+static_assert(
+ !std::is_same<Vec<uint8_t>::const_iterator, Vec<uint8_t>::iterator>::value,
+ "Vec<T>::const_iterator != Vec<T>::iterator");
+
extern "C" {
const char *cxxbridge1$error(const char *ptr, size_t len) {
char *copy = new char[len];