From 028797bd240005936dbd6337b7c1e84f059178fd Mon Sep 17 00:00:00 2001 From: Hynek Schlawack Date: Sun, 17 Mar 2024 12:27:04 +0100 Subject: [PATCH] Switching to tuples removed this case Checking if an element is in a small tuple is fast enough. --- src/attr/converters.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/attr/converters.py b/src/attr/converters.py index bfe8a23e..cf1fa0f7 100644 --- a/src/attr/converters.py +++ b/src/attr/converters.py @@ -131,14 +131,11 @@ def to_bool(val): """ if isinstance(val, str): val = val.lower() - try: - if val in (True, "true", "t", "yes", "y", "on", "1", 1): - return True - if val in (False, "false", "f", "no", "n", "off", "0", 0): - return False - except TypeError: - # Raised when "val" is not hashable (e.g., lists) - pass + + if val in (True, "true", "t", "yes", "y", "on", "1", 1): + return True + if val in (False, "false", "f", "no", "n", "off", "0", 0): + return False msg = f"Cannot convert value to bool: {val!r}" raise ValueError(msg)