I'm not Andrew, but I'm guessing simply writing `OrderedDict(headers.items())`.On Mon, Nov 9, 2015 at 6:28 AM, Guido van Rossum <guido@python.org> wrote:So if OrderedDict had always rejected construction from a dict, how would you have written this?--
On Sunday, November 8, 2015, Andrew Barnert via Python-ideas <python-ideas@python.org> wrote:On Nov 8, 2015, at 14:10, Serhiy Storchaka <storchaka@gmail.com> wrote:
>
>> On 08.11.15 23:12, Sjoerd Job Postmus wrote:
>> On 8 Nov 2015, at 20:06, Amir Rachum <amir@rachum.com
>> <mailto:amir@rachum.com>> wrote:
>>> As part of BasicStruct I intend to allow the use of mapping types as
>>> __slots__, with the semantics of default values..
>>> So it'll look something like this:
>>>
>>> class Point(BasicStruct):
>>> __slots__ = {'x': 5, 'y': 7}
>>
>> So instead they'll write
>> __slots__ = OrderedDict({'x': 5, 'y': 7})
>> Causing the same issues?
>
> Perhaps OrderedDict should reject unordered sources. Hey, here is yet one use case!
I've maintained code that does this:
self.headers = OrderedDict(headers)
self.origheaders = len(headers)
… so it can later do this:
altheaders = list(self.headers.items())[self.origheaders:]
Not a great design, but one that exists in the wild, and would be broken by OrderedDict not allowing a dict as an argument.
Also, this wouldn't allow creating an OrderedDict from an empty dict (which seems far less stupid, but I didn't lead with it because I can't remember seeing it in real code).
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/
--Guido (mobile)
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/