Open
Description
The following instantiation of a component
@components begin
filter = DiscreteTransferFunction(G; z)
end
calls DiscreteTransferFunction(; G, z)
, i.e., G
is passed as a keyword argument despite the fact that it was indicated to be a positional argument. Not being able to use positional arguments is very limiting, it means that there can only be a single method for any component constructor, and component constructors that use positional arguments cannot be called in a model defined by @mtkmodel
.
@macroexpand
indicates that the keyword-arg separator ;
is put in the right place, but the name of the positional arg is mistakenly included:
DiscreteTransferFunction(G = _filter__G; name = :filter,