From fde242aa47bed6ca692d292e44bc525bdf6f4e59 Mon Sep 17 00:00:00 2001 From: whitequark Date: Thu, 27 Aug 2020 01:14:05 +0000 Subject: [PATCH] hdl.ast: clarify exception message for out of bounds indexing. Fixes #488. --- nmigen/hdl/ast.py | 2 +- tests/test_hdl_ast.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nmigen/hdl/ast.py b/nmigen/hdl/ast.py index 7d2efef..4a01bde 100644 --- a/nmigen/hdl/ast.py +++ b/nmigen/hdl/ast.py @@ -254,7 +254,7 @@ class Value(metaclass=ABCMeta): n = len(self) if isinstance(key, int): if key not in range(-n, n): - raise IndexError("Cannot index {} bits into {}-bit value".format(key, n)) + raise IndexError(f"Index {key} is out of bounds for a {n}-bit value") if key < 0: key += n return Slice(self, key, key + 1) diff --git a/tests/test_hdl_ast.py b/tests/test_hdl_ast.py index f14c07b..e6dfc49 100644 --- a/tests/test_hdl_ast.py +++ b/tests/test_hdl_ast.py @@ -187,7 +187,7 @@ class ValueTestCase(FHDLTestCase): self.assertEqual(s2.start, 3) self.assertEqual(s2.stop, 4) with self.assertRaisesRegex(IndexError, - r"^Cannot index 5 bits into 4-bit value$"): + r"^Index 5 is out of bounds for a 4-bit value$"): Const(10)[5] def test_getitem_slice(self): -- 2.30.2