summaryrefslogtreecommitdiffstats
path: root/pym/portage/util/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage/util/__init__.py')
-rw-r--r--pym/portage/util/__init__.py15
1 files changed, 6 insertions, 9 deletions
diff --git a/pym/portage/util/__init__.py b/pym/portage/util/__init__.py
index 0c2dc3382..a0f578eb4 100644
--- a/pym/portage/util/__init__.py
+++ b/pym/portage/util/__init__.py
@@ -1341,15 +1341,12 @@ class LazyItemsDict(UserDict):
k_copy = deepcopy(k, memo)
if k in self.lazy_items:
lazy_item = self.lazy_items[k]
- try:
- result.lazy_items[k_copy] = deepcopy(lazy_item, memo)
- except TypeError:
- if not lazy_item.singleton:
- raise
- UserDict.__setitem__(result,
- k_copy, deepcopy(self[k], memo))
- else:
- UserDict.__setitem__(result, k_copy, None)
+ if not lazy_item.singleton:
+ raise TypeError("LazyItemsDict deepcopy is " + \
+ "unsafe with lazy items that " + \
+ "are not singletons: %s" % (lazy_item,))
+ UserDict.__setitem__(result,
+ k_copy, deepcopy(self[k], memo))
else:
UserDict.__setitem__(result, k_copy, deepcopy(self[k], memo))
return result