Skip to content

@mtkmodel: Positional arguments passed as keyword arguments #3018

Open
@baggepinnen

Description

@baggepinnen

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,

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions