# Release notes of Julia 1.8 misses multidimensional array initialisation of any object

**URL:** https://discourse.julialang.org/t/release-notes-of-julia-1-8-misses-multidimensional-array-initialisation-of-any-object/96332
**Category:** Internals & Design
**Tags:** release, array, syntax
**Created:** [March 20, 2023, 8:46am UTC](https://discourse.julialang.org/t/release-notes-of-julia-1-8-misses-multidimensional-array-initialisation-of-any-object/96332 "2023-03-20T08:46:48Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)
#### Post date: [March 20, 2023, 8:46am UTC](https://discourse.julialang.org/t/release-notes-of-julia-1-8-misses-multidimensional-array-initialisation-of-any-object/96332/1 "2023-03-20T08:46:48Z")

</div>

Julia 1.7 added the capacity to use the multiple semicolon syntax to initialise hard-coded arrays:

" _Repeated semicolons can now be used inside array concatenation expressions to separate dimensions of an array, with the number of semicolons specifying the dimension. Just as a single semicolon in `[A; B]` has always described concatenating in the first dimension (vertically), now two semicolons `[A;; B]` do so in the second dimension (horizontally), three semicolons `;;;` in the third, and so on ([#33697](https://github.com/JuliaLang/julia/issues/33697))._"

```julia
julia> foo = [0; 0;; 0; 1;;; 0; 0;; 0; 1;;; 0; 0;; 0; 1;;;]
2×2×3 Array{Int64, 3}:
[:, :, 1] =
 0 0
 0 1

[:, :, 2] =
 0 0
 0 1

[:, :, 3] =
 0 0
 0 1

```

However this didn’t work for other objects like tuples (just discovered…):

```julia
julia> foo = [(0,0); (0,0);; (0,0); (1,1);;; (0,0); (0,0);; (0,0); (1,1);;; (0,0); (0,1);; (0,1); (1,1);;;]
ERROR: ArgumentError: invalid tuple dimension 2

```

This seems to have been resolved in Julia v1.8:

```julia
julia> foo = [(0,0); (0,0);; (0,0); (1,1);;; (0,0); (0,0);; (0,0); (1,1);;; (0,0); (0,1);; (0,1); (1,1);;;]
2×2×3 Array{Tuple{Int64, Int64}, 3}:
[:, :, 1] =
 (0, 0) (0, 0)
 (0, 0) (1, 1)

[:, :, 2] =
 (0, 0) (0, 0)
 (0, 0) (1, 1)

[:, :, 3] =
 (0, 0) (0, 1)
 (0, 1) (1, 1)

```

However this is not recognised in the v1.8 release notes, where only a note on initialising _empty_ array is given:

“_Empty n-dimensional arrays can now be created using multiple semicolons inside square brackets, e.g. `[;;;]` creates a 0×0×0 `Array` ([#41618](https://github.com/JuliaLang/julia/issues/41618))._”

I think this is such fundamental that it should deserve a word on the release notes…

---

<div class="post-metadata">

### Author: ![jishnub](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jishnub/32/33620_2.png) [@jishnub](https://discourse.julialang.org/u/jishnub)
#### Post date: [March 20, 2023, 9:56am UTC](https://discourse.julialang.org/t/release-notes-of-julia-1-8-misses-multidimensional-array-initialisation-of-any-object/96332/3 "2023-03-20T09:56:21Z")

</div>

If I understand correctly, this is a bugfix, and not a feature that was added?

---

<div class="post-metadata">

### Author: ![sijo](https://avatars.discourse-cdn.com/v4/letter/s/da6949/32.png) [@sijo](https://discourse.julialang.org/u/sijo)
#### Post date: [March 20, 2023, 10:00am UTC](https://discourse.julialang.org/t/release-notes-of-julia-1-8-misses-multidimensional-array-initialisation-of-any-object/96332/4 "2023-03-20T10:00:21Z")

</div>

Yes, probably [Julia 1.7.3: Array creation with repeated semicolons and different types doesn't work · Issue #45461 · JuliaLang/julia · GitHub](https://github.com/JuliaLang/julia/issues/45461)

The example actually works in 1.7.2 but not in 1.7.3.
