Hi ! I could not find the explanation of why `size([1;1;1])`

returns the wrong answer since julia 0.4 -> 1.2.0 while okay for a sparse matrix ? Look:

```
julia> size([1;1;1]) # Expected to have (3,1) or (3,1,) but ok for (3,)
(3,)
julia> (a,b) = size([1;1;1]) # Set 1 to b!
ERROR: BoundsError: attempt to access (3,)
at index [2]
in indexed_next at tuple.jl:21
julia> size([1 1 1]) # good answer !
(1,3)
julia> size(sparse([1;1;1])) # good answer ! Why different answer from dense array???
(3,1)
julia> size(sparse([1 1 1])) # good answer !
(1,3)
julia> size([1;1;1],1) # good answer !
3
julia> size([1;1;1],2) # good answer ! Finally ... !?
1
julia> size([1;1;1],3) # yep I understand that's for simulating other dimensions
1
julia> size([1 1 1],1) # idem for size(sparse([1 1 1]),1)
1
julia> size([1 1 1],2) # idem for size(sparse([1 1 1]),2)
3
julia> size([1 1 1],3) # idem for size(sparse([1 1 1]),3)
1
```

My problem is that I do `(a,b) = size(M)`

with M matrices but if M has one dimension (vector) this is not working. It is sad that `size([1;1;1])`

and `size(sparse([1 1 1]))`

have different behavior. To be complety consistent `(a,b,c,d) = size(M)`

would return (3,1,1,1) in the same way that `size([1;1;1],3)`

returns 1. and sader to have to write long version `a = size(M, 1); b = size(M, 2)`

If a Julia maintainer is agreed feel free to reopen https://github.com/JuliaLang/julia/issues/33265