gfe-relnote: n/a, fix some compiler errors in QUICHE.

Reported in:
https://github.com/envoyproxy/envoy/issues/10422 of -Wsign-compare under GCC.
https://github.com/envoyproxy/envoy/issues/10767 of missing copy assignment under clang10.

PiperOrigin-RevId: 309489267
Change-Id: I69cb5ed3a6b1bd447da44bb241c3d81bf73865ab
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.