# Type parameter display in 1.10 for MethodError

**URL:** <https://discourse.julialang.org/t/type-parameter-display-in-1-10-for-methoderror/102516>\
**Category:** Internals & Design\
**Tags:** parametric-types\
**Created:** [August 5, 2023, 9:08am UTC](https://discourse.julialang.org/t/type-parameter-display-in-1-10-for-methoderror/102516 "2023-08-05T09:08:24Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)\
**Post date:** [August 5, 2023, 9:08am UTC](https://discourse.julialang.org/t/type-parameter-display-in-1-10-for-methoderror/102516/1 "2023-08-05T09:08:24Z")

</div>

When Julia 1.10 throws an error, the type parameters _in the stacktrace_ are abbreviated, and I absolutely love it. However, they are not abbreviated _in the error message itself_ when it is a `MethodError`. Does anyone know the rationale?

I’m on 1.10.0-beta1, in case it has changed on master

---

<div class="post-metadata">

**Author:** ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)\
**Post date:** [August 5, 2023, 9:09am UTC](https://discourse.julialang.org/t/type-parameter-display-in-1-10-for-methoderror/102516/2 "2023-08-05T09:09:47Z")

</div>

A dirty error:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/a/b/ab5f7b827bf861c5925b92e927c3fb360c0dbb56.png)

A clean stacktrace:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/1/6/168328ae57856ccebaa76338bcdd3e7a9a55dfbb.png)

---

<div class="post-metadata">

**Author:** ![tim.holy](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tim.holy/32/52_2.png) [@tim.holy](https://discourse.julialang.org/u/tim.holy)\
**Post date:** [August 5, 2023, 10:51am UTC](https://discourse.julialang.org/t/type-parameter-display-in-1-10-for-methoderror/102516/3 "2023-08-05T10:51:53Z")

</div>

> Does anyone know the rationale?

Yes: we only thought about the stacktraces and didn’t notice that it might need fixing elsewhere too 😆. It’s crucial to note that the fix was not a change in how types are printed (that’s viewed by many of us as something that should never drop information), it’s a change that’s restricted to how stacktraces are printed. But we should probably do it for MethodErrors too.

> <https://github.com/JuliaLang/julia/issues/50803>
>
> As reported in https://discourse.julialang.org/t/type-parameter-display-in-1-10-…for-methoderror/102516
> 
> \`\`\`julia
> a = view(reinterpret(reshape, UInt8, PermutedDimsArray(rand(5, 7), (2, 1))), 2:3, 2:4, 1:4); # a mildly-complex type
> function foo end
> 
> julia\> foo(a, a, a, a, a, a, a)
> ERROR: MethodError: no method matching foo(::SubArray{UInt8, 3, Base.ReinterpretArray{UInt8, 3, Float64, PermutedDimsArray{Float64, 2, (2, 1), (2, 1), Matrix{Float64}}, true}, Tuple{UnitRange{Int64}, UnitRange{Int64}, UnitRange{Int64}}, false}, ::SubArray{UInt8, 3, Base.ReinterpretArray{UInt8, 3, Float64, PermutedDimsArray{Float64, 2, (2, 1), (2, 1), Matrix{Float64}}, true}, Tuple{UnitRange{Int64}, UnitRange{Int64}, UnitRange{Int64}}, false}, ::SubArray{UInt8, 3, Base.ReinterpretArray{UInt8, 3, Float64, PermutedDimsArray{Float64, 2, (2, 1), (2, 1), Matrix{Float64}}, true}, Tuple{UnitRange{Int64}, UnitRange{Int64}, UnitRange{Int64}}, false}, ::SubArray{UInt8, 3, Base.ReinterpretArray{UInt8, 3, Float64, PermutedDimsArray{Float64, 2, (2, 1), (2, 1), Matrix{Float64}}, true}, Tuple{UnitRange{Int64}, UnitRange{Int64}, UnitRange{Int64}}, false}, ::SubArray{UInt8, 3, Base.ReinterpretArray{UInt8, 3, Float64, PermutedDimsArray{Float64, 2, (2, 1), (2, 1), Matrix{Float64}}, true}, Tuple{UnitRange{Int64}, UnitRange{Int64}, UnitRange{Int64}}, false}, ::SubArray{UInt8, 3, Base.ReinterpretArray{UInt8, 3, Float64, PermutedDimsArray{Float64, 2, (2, 1), (2, 1), Matrix{Float64}}, true}, Tuple{UnitRange{Int64}, UnitRange{Int64}, UnitRange{Int64}}, false}, ::SubArray{UInt8, 3, Base.ReinterpretArray{UInt8, 3, Float64, PermutedDimsArray{Float64, 2, (2, 1), (2, 1), Matrix{Float64}}, true}, Tuple{UnitRange{Int64}, UnitRange{Int64}, UnitRange{Int64}}, false})
> Stacktrace:
> \[1\] top-level scope
> @ REPL\[3\]:1
> \`\`\`
