From 56de7e2a367e1a2deef28faec62077b43d4240f6 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sat, 10 Apr 2010 16:59:03 +0000 Subject: [PATCH] Issue 8361: Remove assert from functools.total_ordering --- Lib/functools.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Lib/functools.py b/Lib/functools.py index 539dc90ecd8..d75e44ae83a 100644 --- a/Lib/functools.py +++ b/Lib/functools.py @@ -67,8 +67,9 @@ def total_ordering(cls): ('__lt__', lambda self, other: not self >= other)] } roots = set(dir(cls)) & set(convert) - assert roots, 'must define at least one ordering operation: < > <= >=' - root = max(roots) # prefer __lt __ to __le__ to __gt__ to __ge__ + if not roots: + raise ValueError('must define at least one ordering operation: < > <= >=') + root = max(roots) # prefer __lt__ to __le__ to __gt__ to __ge__ for opname, opfunc in convert[root]: if opname not in roots: opfunc.__name__ = opname