PyMapping_Size and PySequence_Size.
Because len() tries first sequence, then mapping size, it will always
raise a "non-mapping object has no len" error which is confusing.
if (m && m->sq_length)
return m->sq_length(s);
- type_error("non-sequence object of type '%.200s' has no len()", s);
+ type_error("object of type '%.200s' has no len()", s);
return -1;
}
if (m && m->mp_length)
return m->mp_length(o);
- type_error("non-mapping object of type '%.200s' has no len()", o);
+ type_error("object of type '%.200s' has no len()", o);
return -1;
}