Closed
Description
The name_suffix
functionality is broken. The init
, reset_less
, attrs
, and decoder
properties of the original signal are not preserved.
>>> from amaranth.lib import data
>>> from amaranth.hdl import *
>>> l = data.StructLayout({"a": 8, "b": 4})
>>> s = Signal(l, init={"a": 1, "b": 2}, reset_less=True, attrs={"x": 123})
>>> s2 = Signal.like(s, name_suffix="a")
[...]
AttributeError: View with layout StructLayout({'a': 8, 'b': 4}) does not have a field 'name'; did you mean one of: 'a', 'b'?
>>> s2 = Signal.like(s)
>>> s.as_value().init
513
>>> s2.as_value().init
0
>>> s.as_value().reset_less
True
>>> s2.as_value().reset_less
False
>>> s.as_value().attrs
OrderedDict([('x', 123)])
>>> s2.as_value().attrs
OrderedDict()