This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author rhettinger
Recipients rhettinger, stutzbach
Date 2010-07-09.23:02:24
SpamBayes Score 7.288438e-06
Marked as misclassified No
Message-id <1278716547.21.0.815226311202.issue9214@psf.upfronthosting.co.za>
In-reply-to
Content
> To solve the problem, KeysView and ItemsView need 
> to override _from_iterable to return a set instead 
> of a new view.

Thanks for the good analysis and suggested fix.  I believe both are correct and they match the behavior of real dictionaries. 

  def _from_iterable(self, it):
     return set(it)

Proposed tests to match real dicts:

  x = MySimpleMapping()   # from stuzback's example
  x['red'] = 5
  y = x.keys()
  assert isinstance(y, collections.Set)
  assert not isinstance(y, collections.MutableSet)
  z = x.keys() | {'orange'}
  assert type(z) is set
History
Date User Action Args
2010-07-09 23:02:27rhettingersetrecipients: + rhettinger, stutzbach
2010-07-09 23:02:27rhettingersetmessageid: <1278716547.21.0.815226311202.issue9214@psf.upfronthosting.co.za>
2010-07-09 23:02:25rhettingerlinkissue9214 messages
2010-07-09 23:02:25rhettingercreate