diff --git a/spdy/core/fifo_write_scheduler.h b/spdy/core/fifo_write_scheduler.h
index e972a2b..3c38bd5 100644
--- a/spdy/core/fifo_write_scheduler.h
+++ b/spdy/core/fifo_write_scheduler.h
@@ -208,7 +208,7 @@
 }
 
 template <typename StreamIdType>
-string FifoWriteScheduler<StreamIdType>::DebugString() const {
+SpdyString FifoWriteScheduler<StreamIdType>::DebugString() const {
   return SpdyStrCat(
       "FifoWriteScheduler {num_streams=", registered_streams_.size(),
       " num_ready_streams=", NumReadyStreams(), "}");
diff --git a/spdy/core/fifo_write_scheduler_test.cc b/spdy/core/fifo_write_scheduler_test.cc
index 1a6e231..1ad6d62 100644
--- a/spdy/core/fifo_write_scheduler_test.cc
+++ b/spdy/core/fifo_write_scheduler_test.cc
@@ -15,7 +15,7 @@
   FifoWriteScheduler<SpdyStreamId> fifo;
   EXPECT_FALSE(fifo.HasReadyStreams());
   EXPECT_SPDY_BUG(
-      EXPECT_EQ(0, std::get<0>(fifo.PopNextReadyStreamAndPrecedence())),
+      EXPECT_EQ(0u, std::get<0>(fifo.PopNextReadyStreamAndPrecedence())),
       "No ready streams available");
   EXPECT_SPDY_BUG(fifo.MarkStreamReady(9, true), "Stream 9 is not registered");
   EXPECT_SPDY_BUG(fifo.IsStreamReady(9), "Stream 9 is not registered");
@@ -43,8 +43,8 @@
   fifo.MarkStreamReady(17, true);
   EXPECT_EQ(7u, fifo.NumReadyStreams());
 
-  EXPECT_EQ(3, fifo.PopNextReadyStream());
-  EXPECT_EQ(7, std::get<0>(fifo.PopNextReadyStreamAndPrecedence()));
+  EXPECT_EQ(3u, fifo.PopNextReadyStream());
+  EXPECT_EQ(7u, std::get<0>(fifo.PopNextReadyStreamAndPrecedence()));
   EXPECT_EQ(5u, fifo.NumReadyStreams());
 
   EXPECT_FALSE(fifo.ShouldYield(3));
