diff --git a/http2/hpack/varint/hpack_varint_decoder_test.cc b/http2/hpack/varint/hpack_varint_decoder_test.cc
index aff6af3..d204b33 100644
--- a/http2/hpack/varint/hpack_varint_decoder_test.cc
+++ b/http2/hpack/varint/hpack_varint_decoder_test.cc
@@ -15,20 +15,19 @@
 #include "http2/tools/random_decoder_test.h"
 #include "common/platform/api/quiche_test.h"
 
-using ::testing::AssertionFailure;
 using ::testing::AssertionSuccess;
 
 namespace http2 {
 namespace test {
 namespace {
 
-class HpackVarintDecoderTest : public RandomDecoderTest,
-                               public ::testing::WithParamInterface<
-                                   ::testing::tuple<uint8_t, const char*>> {
+class HpackVarintDecoderTest
+    : public RandomDecoderTest,
+      public ::testing::WithParamInterface<std::tuple<uint8_t, const char*>> {
  protected:
   HpackVarintDecoderTest()
-      : high_bits_(::testing::get<0>(GetParam())),
-        suffix_(absl::HexStringToBytes(::testing::get<1>(GetParam()))),
+      : high_bits_(std::get<0>(GetParam())),
+        suffix_(absl::HexStringToBytes(std::get<1>(GetParam()))),
         prefix_length_(0) {}
 
   void DecodeExpectSuccess(absl::string_view data,
diff --git a/http2/tools/random_decoder_test.cc b/http2/tools/random_decoder_test.cc
index 08f7a60..a49e97f 100644
--- a/http2/tools/random_decoder_test.cc
+++ b/http2/tools/random_decoder_test.cc
@@ -16,9 +16,7 @@
 #include "http2/platform/api/http2_test_helpers.h"
 #include "common/platform/api/quiche_test.h"
 
-using ::testing::AssertionFailure;
 using ::testing::AssertionResult;
-using ::testing::AssertionSuccess;
 
 namespace http2 {
 namespace test {
diff --git a/quic/core/http/quic_headers_stream_test.cc b/quic/core/http/quic_headers_stream_test.cc
index 42fef63..3a44f79 100644
--- a/quic/core/http/quic_headers_stream_test.cc
+++ b/quic/core/http/quic_headers_stream_test.cc
@@ -50,7 +50,6 @@
 using spdy::SpdyHeaderBlock;
 using spdy::SpdyHeadersHandlerInterface;
 using spdy::SpdyHeadersIR;
-using spdy::SpdyKnownSettingsId;
 using spdy::SpdyPingId;
 using spdy::SpdyPingIR;
 using spdy::SpdyPriority;
diff --git a/quic/core/http/quic_server_session_base_test.cc b/quic/core/http/quic_server_session_base_test.cc
index 30c4178..2d144d2 100644
--- a/quic/core/http/quic_server_session_base_test.cc
+++ b/quic/core/http/quic_server_session_base_test.cc
@@ -45,7 +45,6 @@
 using testing::StrictMock;
 
 using testing::AtLeast;
-using testing::Return;
 
 namespace quic {
 namespace test {
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc
index 5a85927..cfc4729 100644
--- a/quic/core/http/quic_spdy_session.cc
+++ b/quic/core/http/quic_spdy_session.cc
@@ -43,7 +43,6 @@
 using spdy::SpdyHeaderBlock;
 using spdy::SpdyHeadersHandlerInterface;
 using spdy::SpdyHeadersIR;
-using spdy::SpdyKnownSettingsId;
 using spdy::SpdyPingId;
 using spdy::SpdyPriority;
 using spdy::SpdyPriorityIR;
diff --git a/quic/core/quic_versions_test.cc b/quic/core/quic_versions_test.cc
index 60790d6..d60bd4d 100644
--- a/quic/core/quic_versions_test.cc
+++ b/quic/core/quic_versions_test.cc
@@ -15,7 +15,6 @@
 namespace test {
 namespace {
 
-using ::testing::_;
 using ::testing::ElementsAre;
 using ::testing::IsEmpty;
 
diff --git a/quic/tools/quic_simple_server_session_test.cc b/quic/tools/quic_simple_server_session_test.cc
index d23ba5d..9cc7bfd 100644
--- a/quic/tools/quic_simple_server_session_test.cc
+++ b/quic/tools/quic_simple_server_session_test.cc
@@ -39,7 +39,6 @@
 #include "quic/tools/quic_simple_server_stream.h"
 
 using testing::_;
-using testing::AnyNumber;
 using testing::AtLeast;
 using testing::InSequence;
 using testing::Invoke;
diff --git a/quic/tools/quic_toy_client.cc b/quic/tools/quic_toy_client.cc
index 59fe4ec..00507f3 100644
--- a/quic/tools/quic_toy_client.cc
+++ b/quic/tools/quic_toy_client.cc
@@ -67,7 +67,6 @@
 
 namespace {
 
-using quic::QuicUrl;
 using quiche::QuicheTextUtils;
 
 }  // namespace
diff --git a/spdy/core/hpack/hpack_decoder_adapter.cc b/spdy/core/hpack/hpack_decoder_adapter.cc
index aaee600..3e7c21a 100644
--- a/spdy/core/hpack/hpack_decoder_adapter.cc
+++ b/spdy/core/hpack/hpack_decoder_adapter.cc
@@ -8,8 +8,6 @@
 #include "http2/decoder/decode_status.h"
 #include "common/platform/api/quiche_logging.h"
 
-using ::http2::DecodeBuffer;
-
 namespace spdy {
 namespace {
 const size_t kMaxDecodeBufferSizeBytes = 32 * 1024;  // 32 KB
