diff --git a/amaranth/lib/wiring.py b/amaranth/lib/wiring.py index 75eac1c..27b28f9 100644 --- a/amaranth/lib/wiring.py +++ b/amaranth/lib/wiring.py @@ -394,7 +394,7 @@ class Signature(metaclass=SignatureMeta): dimension, *rest_of_dimensions = dimensions for index in range(dimension): yield from iter_dimensions(value[index], rest_of_dimensions, - path=(path, index)) + path=(*path, index)) yield from iter_dimensions(value, dimensions=member.dimensions, path=path) diff --git a/tests/test_lib_wiring.py b/tests/test_lib_wiring.py index 75a0583..f5af0f2 100644 --- a/tests/test_lib_wiring.py +++ b/tests/test_lib_wiring.py @@ -385,8 +385,8 @@ class SignatureTestCase(unittest.TestCase): intf = sig.create() self.assertFlattenedSignature(sig.flatten(intf), [ (("a",), In(1), intf.a), - ((("b",), 0), Out(2), intf.b[0]), - ((("b",), 1), Out(2), intf.b[1]) + (("b", 0), Out(2), intf.b[0]), + (("b", 1), Out(2), intf.b[1]) ]) def test_flatten_sig(self):