Description
The heap snapshot currently outputs names that are missing Parameters when printing the names of Types.
The issue is that we are currently using this code to print the names of types:
julia/src/gc-heap-snapshot.cpp
Lines 217 to 221 in 4ff526a
which does this:
julia> t2 = Tuple{Int,Int}
Tuple{Int64, Int64}
julia> static_shown(t2)
"Tuple{Int64, Int64}"
julia> t2.name.name
:Tuple
I think we should be instead following the approach used in jl_static_show
to print the fully parameterized names of types. Something like this:
Lines 772 to 845 in 4ff526a
Maybe we can factor out a helper function that shares the same code for jl_static_show
and this code?
Or maybe we even just want to directly call jl_static_show()
on a stringstream? Is there a reason we didn't do this in the first place?
CC: @apaz-cli, @vtjnash, @IanButterworth, @gbaraldi, @vilterp.
Thanks all! :)
Lines 798 to 809 in 4ff526a