diff --git a/CHANGES/310.feature b/CHANGES/310.feature
new file mode 100644
index 0000000..9f0fb19
--- /dev/null
+++ b/CHANGES/310.feature
@@ -0,0 +1,1 @@
+Implement __length_hint__() for iterators
\ No newline at end of file
diff --git a/multidict/_multidict_iter.c b/multidict/_multidict_iter.c
index 41aeb71..30bb46b 100644
--- a/multidict/_multidict_iter.c
+++ b/multidict/_multidict_iter.c
@@ -156,6 +156,28 @@ multidict_iter_clear(MultidictIter *self)
     return 0;
 }
 
+static PyObject *
+multidict_iter_len(MultidictIter *self)
+{
+    return PyLong_FromSize_t(pair_list_len(&self->md->pairs));
+}
+
+PyDoc_STRVAR(length_hint_doc,
+             "Private method returning an estimate of len(list(it)).");
+
+static PyMethodDef multidict_iter_methods[] = {
+    {
+        "__length_hint__",
+        (PyCFunction)(void(*)(void))multidict_iter_len,
+        METH_NOARGS,
+        length_hint_doc
+    },
+    {
+        NULL,
+        NULL
+    }   /* sentinel */
+};
+
 /***********************************************************************/
 
 /* We link this module statically for convenience.  If compiled as a shared
@@ -177,6 +199,7 @@ static PyTypeObject multidict_items_iter_type = {
     .tp_clear = (inquiry)multidict_iter_clear,
     .tp_iter = PyObject_SelfIter,
     .tp_iternext = (iternextfunc)multidict_items_iter_iternext,
+    .tp_methods = multidict_iter_methods,
 };
 
 static PyTypeObject multidict_values_iter_type = {
@@ -189,6 +212,7 @@ static PyTypeObject multidict_values_iter_type = {
     .tp_clear = (inquiry)multidict_iter_clear,
     .tp_iter = PyObject_SelfIter,
     .tp_iternext = (iternextfunc)multidict_values_iter_iternext,
+    .tp_methods = multidict_iter_methods,
 };
 
 static PyTypeObject multidict_keys_iter_type = {
@@ -201,6 +225,7 @@ static PyTypeObject multidict_keys_iter_type = {
     .tp_clear = (inquiry)multidict_iter_clear,
     .tp_iter = PyObject_SelfIter,
     .tp_iternext = (iternextfunc)multidict_keys_iter_iternext,
+    .tp_methods = multidict_iter_methods,
 };
 
 int
diff --git a/multidict/_multidict_py.py b/multidict/_multidict_py.py
index 1d5736d..04e96cd 100644
--- a/multidict/_multidict_py.py
+++ b/multidict/_multidict_py.py
@@ -404,6 +404,23 @@ class CIMultiDict(MultiDict):
         return key.title()
 
 
+class _Iter:
+    __slots__ = ('_size', '_iter')
+
+    def __init__(self, size, iterator):
+        self._size = size
+        self._iter = iterator
+
+    def __iter__(self):
+        return self
+
+    def __next__(self):
+        return next(self._iter)
+
+    def __length_hint__(self):
+        return self._size
+
+
 class _ViewBase:
     def __init__(self, impl):
         self._impl = impl
@@ -423,6 +440,9 @@ class _ItemsView(_ViewBase, abc.ItemsView):
         return False
 
     def __iter__(self):
+        return _Iter(len(self), self._iter())
+
+    def _iter(self):
         for i, k, v in self._impl._items:
             if self._version != self._impl._version:
                 raise RuntimeError("Dictionary changed during iteration")
@@ -444,6 +464,9 @@ class _ValuesView(_ViewBase, abc.ValuesView):
         return False
 
     def __iter__(self):
+        return _Iter(len(self), self._iter())
+
+    def _iter(self):
         for item in self._impl._items:
             if self._version != self._impl._version:
                 raise RuntimeError("Dictionary changed during iteration")
@@ -465,6 +488,9 @@ class _KeysView(_ViewBase, abc.KeysView):
         return False
 
     def __iter__(self):
+        return _Iter(len(self), self._iter())
+
+    def _iter(self):
         for item in self._impl._items:
             if self._version != self._impl._version:
                 raise RuntimeError("Dictionary changed during iteration")

diff --git a/tests/test_multidict.py b/tests/test_multidict.py
index 92dc62b..6822eca 100644
--- a/tests/test_multidict.py
+++ b/tests/test_multidict.py
@@ -320,6 +320,21 @@ class BaseMultiDictTest:
         assert called
         del wr
 
+    def test_iter_length_hint_keys(self, cls):
+        md = cls(a=1, b=2)
+        it = iter(md.keys())
+        assert it.__length_hint__() == 2
+
+    def test_iter_length_hint_items(self, cls):
+        md = cls(a=1, b=2)
+        it = iter(md.items())
+        assert it.__length_hint__() == 2
+
+    def test_iter_length_hint_values(self, cls):
+        md = cls(a=1, b=2)
+        it = iter(md.values())
+        assert it.__length_hint__() == 2
+
 
 class TestMultiDict(BaseMultiDictTest):
     @pytest.fixture(params=["MultiDict", ("MultiDict", "MultiDictProxy")])

Implement __length_hint__() for iterators
It can help with optimizing calls like `[i for i in md.items()]` etc.
tests/test_multidict.py::TestMultiDict::test_iter_length_hint_keys[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_iter_length_hint_keys[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_iter_length_hint_items[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_iter_length_hint_items[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_iter_length_hint_values[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_iter_length_hint_values[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_iter_length_hint_keys[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_iter_length_hint_keys[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_iter_length_hint_items[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_iter_length_hint_items[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_iter_length_hint_values[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_iter_length_hint_values[multidict._multidict_py-cls1]
tests/test_multidict.py::test_exposed_names[multidict._multidict-MultiDict] tests/test_multidict.py::test_exposed_names[multidict._multidict-CIMultiDict] tests/test_multidict.py::test__iter__types[multidict._multidict-MultiDict-str] tests/test_multidict.py::test__iter__types[multidict._multidict-cls1-str] tests/test_multidict.py::test_proxy_copy[multidict._multidict-MultiDict-MultiDictProxy] tests/test_multidict.py::test_proxy_copy[multidict._multidict-CIMultiDict-CIMultiDictProxy] tests/test_multidict.py::test_class_getitem[multidict._multidict-MultiDict] tests/test_multidict.py::test_class_getitem[multidict._multidict-CIMultiDict] tests/test_multidict.py::test_class_getitem[multidict._multidict-MultiDictProxy] tests/test_multidict.py::test_class_getitem[multidict._multidict-CIMultiDictProxy] tests/test_multidict.py::TestMultiDict::test_instantiate__empty[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_instantiate__empty[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_instantiate__from_arg0[multidict._multidict-MultiDict-arg00] tests/test_multidict.py::TestMultiDict::test_instantiate__from_arg0[multidict._multidict-MultiDict-arg01] tests/test_multidict.py::TestMultiDict::test_instantiate__from_arg0[multidict._multidict-cls1-arg00] tests/test_multidict.py::TestMultiDict::test_instantiate__from_arg0[multidict._multidict-cls1-arg01] tests/test_multidict.py::TestMultiDict::test_instantiate__with_kwargs[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_instantiate__with_kwargs[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_instantiate__from_generator[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_instantiate__from_generator[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_getone[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_getone[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test__iter__[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test__iter__[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_keys__contains[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys__contains[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_values__contains[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_values__contains[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_items__contains[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_items__contains[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_cannot_create_from_unaccepted[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_cannot_create_from_unaccepted[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_keys_is_set_less[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys_is_set_less[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_keys_is_set_less_equal[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys_is_set_less_equal[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_keys_is_set_equal[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys_is_set_equal[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_keys_is_set_greater[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys_is_set_greater[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_keys_is_set_greater_equal[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys_is_set_greater_equal[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_keys_is_set_not_equal[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys_is_set_not_equal[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_eq[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_eq[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_eq2[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_eq2[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_eq3[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_eq3[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_eq_other_mapping_contains_more_keys[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_eq_other_mapping_contains_more_keys[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_ne[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_ne[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_and[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_and[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_and2[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_and2[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_or[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_or[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_or2[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_or2[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_sub[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_sub[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_sub2[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_sub2[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_xor[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_xor[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_xor2[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_xor2[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_isdisjoint[multidict._multidict-MultiDict-_set0-True] tests/test_multidict.py::TestMultiDict::test_isdisjoint[multidict._multidict-MultiDict-_set1-False] tests/test_multidict.py::TestMultiDict::test_isdisjoint[multidict._multidict-cls1-_set0-True] tests/test_multidict.py::TestMultiDict::test_isdisjoint[multidict._multidict-cls1-_set1-False] tests/test_multidict.py::TestMultiDict::test_repr_issue_410[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_repr_issue_410[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict-MultiDict-other0-or_] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict-MultiDict-other0-and_] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict-MultiDict-other0-sub] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict-MultiDict-other0-xor] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict-cls1-other0-or_] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict-cls1-other0-and_] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict-cls1-other0-sub] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict-cls1-other0-xor] tests/test_multidict.py::TestMultiDict::test_weakref[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_weakref[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test__repr__[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test__repr__[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_getall[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_getall[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_preserve_stable_ordering[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_preserve_stable_ordering[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_get[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_get[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_items__repr__[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_items__repr__[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_keys__repr__[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys__repr__[multidict._multidict-cls1] tests/test_multidict.py::TestMultiDict::test_values__repr__[multidict._multidict-MultiDict] tests/test_multidict.py::TestMultiDict::test_values__repr__[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_instantiate__empty[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_instantiate__empty[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_instantiate__from_arg0[multidict._multidict-CIMultiDict-arg00] tests/test_multidict.py::TestCIMultiDict::test_instantiate__from_arg0[multidict._multidict-CIMultiDict-arg01] tests/test_multidict.py::TestCIMultiDict::test_instantiate__from_arg0[multidict._multidict-cls1-arg00] tests/test_multidict.py::TestCIMultiDict::test_instantiate__from_arg0[multidict._multidict-cls1-arg01] tests/test_multidict.py::TestCIMultiDict::test_instantiate__with_kwargs[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_instantiate__with_kwargs[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_instantiate__from_generator[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_instantiate__from_generator[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_getone[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_getone[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test__iter__[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test__iter__[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys__contains[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys__contains[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_values__contains[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_values__contains[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_items__contains[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_items__contains[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_cannot_create_from_unaccepted[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_cannot_create_from_unaccepted[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_less[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_less[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_less_equal[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_less_equal[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_equal[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_equal[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_greater[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_greater[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_greater_equal[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_greater_equal[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_not_equal[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_not_equal[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_eq[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_eq[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_eq2[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_eq2[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_eq3[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_eq3[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_eq_other_mapping_contains_more_keys[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_eq_other_mapping_contains_more_keys[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_ne[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_ne[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_and[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_and[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_and2[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_and2[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_or[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_or[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_or2[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_or2[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_sub[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_sub[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_sub2[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_sub2[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_xor[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_xor[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_xor2[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_xor2[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_isdisjoint[multidict._multidict-CIMultiDict-_set0-True] tests/test_multidict.py::TestCIMultiDict::test_isdisjoint[multidict._multidict-CIMultiDict-_set1-False] tests/test_multidict.py::TestCIMultiDict::test_isdisjoint[multidict._multidict-cls1-_set0-True] tests/test_multidict.py::TestCIMultiDict::test_isdisjoint[multidict._multidict-cls1-_set1-False] tests/test_multidict.py::TestCIMultiDict::test_repr_issue_410[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_repr_issue_410[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict-CIMultiDict-other0-or_] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict-CIMultiDict-other0-and_] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict-CIMultiDict-other0-sub] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict-CIMultiDict-other0-xor] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict-cls1-other0-or_] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict-cls1-other0-and_] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict-cls1-other0-sub] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict-cls1-other0-xor] tests/test_multidict.py::TestCIMultiDict::test_weakref[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_weakref[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_basics[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_basics[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_getall[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_getall[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_get[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_get[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test__repr__[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test__repr__[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_items__repr__[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_items__repr__[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys__repr__[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys__repr__[multidict._multidict-cls1] tests/test_multidict.py::TestCIMultiDict::test_values__repr__[multidict._multidict-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_values__repr__[multidict._multidict-cls1] tests/test_multidict.py::test_exposed_names[multidict._multidict_py-MultiDict] tests/test_multidict.py::test_exposed_names[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::test__iter__types[multidict._multidict_py-MultiDict-str] tests/test_multidict.py::test__iter__types[multidict._multidict_py-cls1-str] tests/test_multidict.py::test_proxy_copy[multidict._multidict_py-MultiDict-MultiDictProxy] tests/test_multidict.py::test_proxy_copy[multidict._multidict_py-CIMultiDict-CIMultiDictProxy] tests/test_multidict.py::test_class_getitem[multidict._multidict_py-MultiDict] tests/test_multidict.py::test_class_getitem[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::test_class_getitem[multidict._multidict_py-MultiDictProxy] tests/test_multidict.py::test_class_getitem[multidict._multidict_py-CIMultiDictProxy] tests/test_multidict.py::TestMultiDict::test_instantiate__empty[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_instantiate__empty[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_instantiate__from_arg0[multidict._multidict_py-MultiDict-arg00] tests/test_multidict.py::TestMultiDict::test_instantiate__from_arg0[multidict._multidict_py-MultiDict-arg01] tests/test_multidict.py::TestMultiDict::test_instantiate__from_arg0[multidict._multidict_py-cls1-arg00] tests/test_multidict.py::TestMultiDict::test_instantiate__from_arg0[multidict._multidict_py-cls1-arg01] tests/test_multidict.py::TestMultiDict::test_instantiate__with_kwargs[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_instantiate__with_kwargs[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_instantiate__from_generator[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_instantiate__from_generator[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_getone[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_getone[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test__iter__[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test__iter__[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_keys__contains[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys__contains[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_values__contains[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_values__contains[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_items__contains[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_items__contains[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_cannot_create_from_unaccepted[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_cannot_create_from_unaccepted[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_keys_is_set_less[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys_is_set_less[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_keys_is_set_less_equal[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys_is_set_less_equal[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_keys_is_set_equal[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys_is_set_equal[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_keys_is_set_greater[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys_is_set_greater[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_keys_is_set_greater_equal[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys_is_set_greater_equal[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_keys_is_set_not_equal[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys_is_set_not_equal[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_eq[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_eq[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_eq2[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_eq2[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_eq3[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_eq3[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_eq_other_mapping_contains_more_keys[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_eq_other_mapping_contains_more_keys[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_ne[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_ne[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_and[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_and[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_and2[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_and2[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_or[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_or[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_or2[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_or2[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_sub[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_sub[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_sub2[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_sub2[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_xor[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_xor[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_xor2[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_xor2[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_isdisjoint[multidict._multidict_py-MultiDict-_set0-True] tests/test_multidict.py::TestMultiDict::test_isdisjoint[multidict._multidict_py-MultiDict-_set1-False] tests/test_multidict.py::TestMultiDict::test_isdisjoint[multidict._multidict_py-cls1-_set0-True] tests/test_multidict.py::TestMultiDict::test_isdisjoint[multidict._multidict_py-cls1-_set1-False] tests/test_multidict.py::TestMultiDict::test_repr_issue_410[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_repr_issue_410[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict_py-MultiDict-other0-or_] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict_py-MultiDict-other0-and_] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict_py-MultiDict-other0-sub] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict_py-MultiDict-other0-xor] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict_py-cls1-other0-or_] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict_py-cls1-other0-and_] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict_py-cls1-other0-sub] tests/test_multidict.py::TestMultiDict::test_op_issue_410[multidict._multidict_py-cls1-other0-xor] tests/test_multidict.py::TestMultiDict::test_weakref[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_weakref[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test__repr__[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test__repr__[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_getall[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_getall[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_preserve_stable_ordering[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_preserve_stable_ordering[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_get[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_get[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_items__repr__[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_items__repr__[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_keys__repr__[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_keys__repr__[multidict._multidict_py-cls1] tests/test_multidict.py::TestMultiDict::test_values__repr__[multidict._multidict_py-MultiDict] tests/test_multidict.py::TestMultiDict::test_values__repr__[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_instantiate__empty[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_instantiate__empty[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_instantiate__from_arg0[multidict._multidict_py-CIMultiDict-arg00] tests/test_multidict.py::TestCIMultiDict::test_instantiate__from_arg0[multidict._multidict_py-CIMultiDict-arg01] tests/test_multidict.py::TestCIMultiDict::test_instantiate__from_arg0[multidict._multidict_py-cls1-arg00] tests/test_multidict.py::TestCIMultiDict::test_instantiate__from_arg0[multidict._multidict_py-cls1-arg01] tests/test_multidict.py::TestCIMultiDict::test_instantiate__with_kwargs[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_instantiate__with_kwargs[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_instantiate__from_generator[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_instantiate__from_generator[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_getone[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_getone[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test__iter__[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test__iter__[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys__contains[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys__contains[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_values__contains[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_values__contains[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_items__contains[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_items__contains[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_cannot_create_from_unaccepted[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_cannot_create_from_unaccepted[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_less[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_less[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_less_equal[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_less_equal[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_equal[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_equal[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_greater[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_greater[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_greater_equal[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_greater_equal[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_not_equal[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys_is_set_not_equal[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_eq[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_eq[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_eq2[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_eq2[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_eq3[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_eq3[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_eq_other_mapping_contains_more_keys[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_eq_other_mapping_contains_more_keys[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_ne[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_ne[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_and[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_and[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_and2[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_and2[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_or[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_or[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_or2[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_or2[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_sub[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_sub[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_sub2[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_sub2[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_xor[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_xor[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_xor2[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_xor2[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_isdisjoint[multidict._multidict_py-CIMultiDict-_set0-True] tests/test_multidict.py::TestCIMultiDict::test_isdisjoint[multidict._multidict_py-CIMultiDict-_set1-False] tests/test_multidict.py::TestCIMultiDict::test_isdisjoint[multidict._multidict_py-cls1-_set0-True] tests/test_multidict.py::TestCIMultiDict::test_isdisjoint[multidict._multidict_py-cls1-_set1-False] tests/test_multidict.py::TestCIMultiDict::test_repr_issue_410[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_repr_issue_410[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict_py-CIMultiDict-other0-or_] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict_py-CIMultiDict-other0-and_] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict_py-CIMultiDict-other0-sub] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict_py-CIMultiDict-other0-xor] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict_py-cls1-other0-or_] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict_py-cls1-other0-and_] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict_py-cls1-other0-sub] tests/test_multidict.py::TestCIMultiDict::test_op_issue_410[multidict._multidict_py-cls1-other0-xor] tests/test_multidict.py::TestCIMultiDict::test_weakref[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_weakref[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_basics[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_basics[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_getall[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_getall[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_get[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_get[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test__repr__[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test__repr__[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_items__repr__[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_items__repr__[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_keys__repr__[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_keys__repr__[multidict._multidict_py-cls1] tests/test_multidict.py::TestCIMultiDict::test_values__repr__[multidict._multidict_py-CIMultiDict] tests/test_multidict.py::TestCIMultiDict::test_values__repr__[multidict._multidict_py-cls1]