diff --git a/quic/core/quic_circular_deque.h b/quic/core/quic_circular_deque.h
index 15b5cb6..1949d85 100644
--- a/quic/core/quic_circular_deque.h
+++ b/quic/core/quic_circular_deque.h
@@ -63,6 +63,16 @@
         const basic_iterator<value_type>& it)  // NOLINT(runtime/explicit)
         : deque_(it.deque_), index_(it.index_) {}
 
+    // A copy assignment if Pointee is T.
+    // A assignment from iterator to const_iterator if Pointee is const T.
+    basic_iterator& operator=(const basic_iterator<value_type>& it) {
+      if (this != &it) {
+        deque_ = it.deque_;
+        index_ = it.index_;
+      }
+      return *this;
+    }
+
     reference operator*() const { return *deque_->index_to_address(index_); }
     pointer operator->() const { return deque_->index_to_address(index_); }
     reference operator[](difference_type i) { return *(*this + i); }
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc
index 7bf49ab..30a3742 100644
--- a/quic/core/quic_framer.cc
+++ b/quic/core/quic_framer.cc
@@ -5415,7 +5415,7 @@
     const uint64_t ack_range = iter->Length() - 1;
 
     if (writer->remaining() < ecn_size ||
-        writer->remaining() - ecn_size <
+        static_cast<size_t>(writer->remaining() - ecn_size) <
             QuicDataWriter::GetVarInt62Len(gap) +
                 QuicDataWriter::GetVarInt62Len(ack_range)) {
       // ACK range does not fit, truncate it.
