Author rhettinger
Recipients rhettinger, stutzbach
Date 2010-07-09.23:02:24
SpamBayes Score 7.28844e-06
Marked as misclassified No
Message-id <>
> 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
Date User Action Args
2010-07-09 23:02:27rhettingersetrecipients: + rhettinger, stutzbach
2010-07-09 23:02:27rhettingersetmessageid: <>
2010-07-09 23:02:25rhettingerlinkissue9214 messages
2010-07-09 23:02:25rhettingercreate