• Tim Peters's avatar
    Make dictionary() a real constructor. Accepts at most one argument, "a · 25786c08
    Tim Peters yazdı
    mapping object", in the same sense dict.update(x) requires of x (that x
    has a keys() method and a getitem).
    Questionable:  The other type constructors accept a keyword argument, so I
    did that here too (e.g., dictionary(mapping={1:2}) works).  But type_call
    doesn't pass the keyword args to the tp_new slot (it passes NULL), it only
    passes them to the tp_init slot, so getting at them required adding a
    tp_init slot to dicts.  Looks like that makes the normal case (i.e., no
    args at all) a little slower (the time it takes to call dict.tp_init and
    have it figure out there's nothing to do).
    25786c08
dictobject.c 47.7 KB