diff --git a/src/NoBang/base.jl b/src/NoBang/base.jl index a168ee48..68277279 100644 --- a/src/NoBang/base.jl +++ b/src/NoBang/base.jl @@ -31,6 +31,8 @@ _append(xs, ys) = append!(copy(xs), ys) _append(xs, ys::Tuple) = push(xs, ys...) _append(xs, ys::Pairs{Symbol, <:Any, <:Any, <:NamedTuple}) = push(xs, ys...) +append(xs::AbstractVector, ys::AbstractVector) = vcat(xs, ys) + append(xs::ImmutableContainer, ys) = push(xs, ys...) append(xs::AbstractString, ys::AbstractString) = string(xs, ys) diff --git a/test/test_append.jl b/test/test_append.jl index f942c0fe..e5fd2774 100644 --- a/test/test_append.jl +++ b/test/test_append.jl @@ -11,6 +11,8 @@ include("preamble.jl") @test append!!(ImmutableDict(:a=>1), ImmutableDict(:b=>2)) == ImmutableDict(ImmutableDict(:a=>1), :b=>2) @test append!!("a", "b") === "ab" + @test append!!(SVector(0), [1])::Vector == [0, 1] + @test append!!([0], SVector(1))::Vector == [0, 1] end end # module