On Tue, Feb 18, 2020 at 9:40 AM Brandt Bucher <brandtbuc...@gmail.com>
wrote:

>
> Now, addressing Serhiy's points :)...
>
> > ...it was decided that `d1 | d2` also should ignore the types of the
> operands and always return a dict. And it accepts only dicts, not general
> mappings, in difference to `{**d1, **d2}`. So the only disadvantage of
> `{**d1, **d2}` is that it is not well known and "looks ugly".
>
> Not quite. While this point *has* been weakened a bit with the recent
> semantic change, you don't mention that `dict` subclasses can (and likely
> would) override the `__or__` trio with wrapped `super()` calls. So while
> `{**d1, **d2}` will *never* be anything but a `dict`, I can trust that
> well-written `dict` subclasses my code encounters will still be able to
> preserve themselves with `d1 | d2`, if desired.
>

In particular, you may want to update the implementations of defaultdict
and ordereddict. (are there others?)

-- 
--Guido van Rossum (python.org/~guido)
*Pronouns: he/him **(why is my pronoun here?)*
<http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/>
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/JNZKDBPPJRBZS4WMG7AJXMHHZCIDSZ6W/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to