I recently spent an unreasonable amount of time figuring out what my error
was in a function analogous to the following:
too_many_outputs() = rand(100, 100), zeros(100, 100)
a, b, c = too_many_outputs()
The output from this is, on 0.5.0, several screenfuls of red numerical
data, and an error message I simply did not understand
------ BoundsError --------------------- Stacktrace (most recent call last)
[1] — indexed_next(::Tuple{Array{Float64,2},Array{Float64,2}}, ::Int64, ::
Int64) at tuple.jl:33
BoundsError: attempt to access (
[0.301287 0.256923 0.722508 0.408858 0.319346 0.179616 0.960471 0.789095
0.910412 0.265434 0.718849 0.937929 0.0367298 0.205515 0.883508 0.712387
0.267544 0.301452 0.359053 0.640887 0.144168 0.288608 0.890876 0.812196
0.764392 0.729052 0.74899 0.189467 0.251815 0.368224 0.194331 0.477015
0.164543 0.719979 0.469798 0.575245 0.193929 0.921848 0.640391 0.0087104
0.329382 0.357261 0.237266 0.0663893 0.864157 0.619164 0.260045 0.774574
0.470039 0.571927 0.0538007 0.015361 0.121495 0.99733 0.672622 0.770356
0.0467123 0.597193 0.741415 0.809322 0.289837 0.919511 0.186844 0.233542
0.664298 0.0701865 0.166444 0.32414 0.425086 0.347678 0.442404 0.367277
0.493046 0.942807 0.210841 0.00490626 0.784097 .................
My code actually had four return arrays each with 1 million elements, that
were printed in full.
Questions:
0. Is there already an issue for this (there always seems to be, but I
cannot find one)
1. Can the printing of the output tuple contents be compact like in normal
array display?
2. Can the error message be more informative, e.g. "Too many output
arguments"?