Skip to content

Commit 58f6dd9

Browse files
committed
Relax constrains of compose
1 parent 90ddc86 commit 58f6dd9

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/systems/abstractsystem.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1035,14 +1035,14 @@ $(SIGNATURES)
10351035
compose multiple systems together. The resulting system would inherit the first
10361036
system's name.
10371037
"""
1038-
function compose(sys::AbstractSystem, systems::AbstractArray{<:AbstractSystem}; name=nameof(sys))
1038+
function compose(sys::AbstractSystem, systems::AbstractArray; name=nameof(sys))
10391039
nsys = length(systems)
1040-
nsys >= 1 || throw(ArgumentError("There must be at least 1 subsystem. Got $nsys subsystems."))
1040+
nsys == 0 && return sys
10411041
@set! sys.name = name
10421042
@set! sys.systems = [get_systems(sys); systems]
10431043
return sys
10441044
end
1045-
compose(syss::AbstractSystem...; name=nameof(first(syss))) = compose(first(syss), collect(syss[2:end]); name=name)
1045+
compose(syss...; name=nameof(first(syss))) = compose(first(syss), collect(syss[2:end]); name=name)
10461046
Base.:()(sys1::AbstractSystem, sys2::AbstractSystem) = compose(sys1, sys2)
10471047

10481048
UnPack.unpack(sys::ModelingToolkit.AbstractSystem, ::Val{p}) where p = getproperty(sys, p; namespace=false)

0 commit comments

Comments
 (0)