diff --git a/base/abstractarray.jl b/base/abstractarray.jl index f32a1b9d6d40b..8d60a2443ba47 100644 --- a/base/abstractarray.jl +++ b/base/abstractarray.jl @@ -3007,7 +3007,7 @@ end @inline function _stack_size_check(x, ax1::Tuple) if _iterator_axes(x) != ax1 uax1 = map(UnitRange, ax1) - uaxN = map(UnitRange, axes(x)) + uaxN = map(UnitRange, _iterator_axes(x)) throw(DimensionMismatch( LazyString("stack expects uniform slices, got axes(x) == ", uaxN, " while first had ", uax1))) end diff --git a/test/abstractarray.jl b/test/abstractarray.jl index ae530261527f7..8efe2e64b606c 100644 --- a/test/abstractarray.jl +++ b/test/abstractarray.jl @@ -1784,6 +1784,9 @@ end @test_throws ArgumentError stack([1:3, 4:6]; dims=3) @test_throws ArgumentError stack(abs2, 1:3; dims=2) + @test stack(["hello", "world"]) isa Matrix{Char} + @test_throws DimensionMismatch stack(["hello", "world!"]) # had a bug in error printing + # Empty @test_throws ArgumentError stack(()) @test_throws ArgumentError stack([])