From 5583ae42d5b541c1fa96f68c75f6e4bbff5c4740 Mon Sep 17 00:00:00 2001 From: Matt Bauman Date: Fri, 1 Jun 2018 16:00:50 -0500 Subject: [PATCH] Fix concatenations with leading types (#27335) Fixes #27326 --- base/deprecated.jl | 6 +++--- test/arrayops.jl | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/base/deprecated.jl b/base/deprecated.jl index 5fb60b7e5ae2d..d92d0327bd936 100644 --- a/base/deprecated.jl +++ b/base/deprecated.jl @@ -323,11 +323,11 @@ end @deprecate cat_t(::Type{Val{N}}, ::Type{T}, A, B) where {N,T} cat_t(T, A, B, dims=Val(N)) false @deprecate reshape(A::AbstractArray, ::Type{Val{N}}) where {N} reshape(A, Val(N)) -# Issue # +# Issue #27100 @deprecate cat(dims, As...) cat(As..., dims=dims) @deprecate cat_t(dims, ::Type{T}, As...) where {T} cat_t(T, As...; dims=dims) false -# Disambiguate -cat_t(::Type{T}, ::Type{S}, As...; dims=dims) where {T,S} = _cat_t(T, S, As...; dims=dims) +# Disambiguate — this isn't deprecated but it needs to be supported +cat_t(::Type{T}, ::Type{S}, As...; dims=dims) where {T,S} = _cat_t(dims, T, S, As...) @deprecate read(s::IO, x::Ref) read!(s, x) diff --git a/test/arrayops.jl b/test/arrayops.jl index 556b31f790776..b2ebd127ccd50 100644 --- a/test/arrayops.jl +++ b/test/arrayops.jl @@ -469,6 +469,11 @@ end @test A23994[5] isa Float64 @test A23994[6] isa Rational{Int} end +@testset "cat issue #27326" begin + @test [Int; 1] == [Int, 1] + @test [Int 1] == reshape([Int, 1], 1, :) + @test [Int 1; String 2] == reshape([Int, String, 1, 2], 2, 2) +end @testset "end" begin X = [ i+2j for i=1:5, j=1:5 ] @test X[end,end] == 15