Merge from v8 at revision 3723
diff --git a/src/list.h b/src/list.h
index aff63c3..d3c2767 100644
--- a/src/list.h
+++ b/src/list.h
@@ -68,7 +68,8 @@
   // not safe to use after operations that can change the list's
   // backing store (eg, Add).
   inline T& operator[](int i) const  {
-    ASSERT(0 <= i && i < length_);
+    ASSERT(0 <= i);
+    ASSERT(i < length_);
     return data_[i];
   }
   inline T& at(int i) const  { return operator[](i); }