I am trying to understand the underlying mechanics behind hash(itertools.count(x, y)).
I am not used to looking deeply into CPython implementations, but I noticed that in itertoolsmodule.c the static PyTypeObject count_type has 0 for tp_hash.
I am assuming that this means that it does not implement hash in C. So, how does it get taken care of? Is there a Python object for the C binding itertools.count that implements __hash__?
On another note, what happens behind the scene such that
itertools.count(0, 5) != itertools.count(0, 5)