Shorten type in stack trace

I have this long stack trace like this one appearing when running the tests of the package, which originates from the fact that the type has many parameters:

[3] finalize_search_and_match!(world::Ark.World{Tuple{Ark._ComponentStorage{BeforeIT.Components.ResidualItems, Vector{BeforeIT.Components.ResidualItems}}, Ark._ComponentStorage{BeforeIT.Components.LendingRate, Vector{BeforeIT.Components.LendingRate}}, Ark._ComponentStorage{BeforeIT.Components.Banker, Vector{BeforeIT.Components.Banker}}, Ark._ComponentStorage{BeforeIT.Components.Bank, Vector{BeforeIT.Components.Bank}}, Ark._ComponentStorage{BeforeIT.Components.StockCacheIndex, Vector{BeforeIT.Components.StockCacheIndex}}, Ark._ComponentStorage{BeforeIT.Components.IntermediaryDemandCacheIndex, Vector{BeforeIT.Components.IntermediaryDemandCacheIndex}}, Ark._ComponentStorage{BeforeIT.Components.FinalDemandCacheIndex, Vector{BeforeIT.Components.FinalDemandCacheIndex}}, Ark._ComponentStorage{BeforeIT.Components.NominalInterestRate, Vector{BeforeIT.Components.NominalInterestRate}}, Ark._ComponentStorage{BeforeIT.Components.GovernmentBondInterestRate, Vector{BeforeIT.Components.GovernmentBondInterestRate}}, Ark._ComponentStorage{BeforeIT.Components.GradualAdjustmentRate, Vector{BeforeIT.Components.GradualAdjustmentRate}}, Ark._ComponentStorage{BeforeIT.Components.EquilibriumInterestRate, Vector{BeforeIT.Components.EquilibriumInterestRate}}, Ark._ComponentStorage{BeforeIT.Components.InflationTargetingWeight, Vector{BeforeIT.Components.InflationTargetingWeight}}, Ark._ComponentStorage{BeforeIT.Components.EconomicWeight, Vector{BeforeIT.Components.EconomicWeight}}, Ark._ComponentStorage{BeforeIT.Components.CentralBank, Vector{BeforeIT.Components.CentralBank}}, Ark._ComponentStorage{BeforeIT.Components.PrincipalProduct, Vector{BeforeIT.Components.PrincipalProduct}}, Ark._ComponentStorage{BeforeIT.Components.LaborProductivity, Vector{BeforeIT.Components.LaborProductivity}}, Ark._ComponentStorage{BeforeIT.Components.IntermediateProductivity, Vector{BeforeIT.Components.IntermediateProductivity}}, Ark._ComponentStorage{BeforeIT.Components.CapitalProductivity, Vector{BeforeIT.Components.CapitalProductivity}}, Ark._ComponentStorage{BeforeIT.Components.FirmProperties, Vector{BeforeIT.Components.FirmProperties}}, Ark._ComponentStorage{BeforeIT.Components.CapitalDeprecationRate, Vector{BeforeIT.Components.CapitalDeprecationRate}}, Ark._ComponentStorage{BeforeIT.Components.OperatingMargins, Vector{BeforeIT.Components.OperatingMargins}}, Ark._ComponentStorage{BeforeIT.Components.WageBill, Vector{BeforeIT.Components.WageBill}}, Ark._ComponentStorage{BeforeIT.Components.AverageWageRate, Vector{BeforeIT.Components.AverageWageRate}}, Ark._ComponentStorage{BeforeIT.Components.TaxRates, Vector{BeforeIT.Components.TaxRates}}, Ark._ComponentStorage{BeforeIT.Components.Price, Vector{BeforeIT.Components.Price}}, Ark._ComponentStorage{BeforeIT.Components.PriceIndex, Vector{BeforeIT.Components.PriceIndex}}, Ark._ComponentStorage{BeforeIT.Components.CFPriceIndex, Vector{BeforeIT.Components.CFPriceIndex}}, Ark._ComponentStorage{BeforeIT.Components.Employment, Vector{BeforeIT.Components.Employment}}, Ark._ComponentStorage{BeforeIT.Components.Vacancies, Vector{BeforeIT.Components.Vacancies}}, Ark._ComponentStorage{BeforeIT.Components.DesiredEmployment, Vector{BeforeIT.Components.DesiredEmployment}}, Ark._ComponentStorage{BeforeIT.Components.Output, Vector{BeforeIT.Components.Output}}, Ark._ComponentStorage{BeforeIT.Components.Sales, Vector{BeforeIT.Components.Sales}}, Ark._ComponentStorage{BeforeIT.Components.GoodsDemand, Vector{BeforeIT.Components.GoodsDemand}}, Ark._ComponentStorage{BeforeIT.Components.Inventories, Vector{BeforeIT.Components.Inventories}}, Ark._ComponentStorage{BeforeIT.Components.Intermediates, Vector{BeforeIT.Components.Intermediates}}, Ark._ComponentStorage{BeforeIT.Components.Investment, Vector{BeforeIT.Components.Investment}}, Ark._ComponentStorage{BeforeIT.Components.Equity, Vector{BeforeIT.Components.Equity}}, Ark._ComponentStorage{BeforeIT.Components.FinalGoodsStockChange, Vector{BeforeIT.Components.FinalGoodsStockChange}}, Ark._ComponentStorage{BeforeIT.Components.MaterialsStockChange, Vector{BeforeIT.Components.MaterialsStockChange}}, Ark._ComponentStorage{BeforeIT.Components.TargetLoans, Vector{BeforeIT.Components.TargetLoans}}, Ark._ComponentStorage{BeforeIT.Components.ExpectedCapital, Vector{BeforeIT.Components.ExpectedCapital}}, Ark._ComponentStorage{BeforeIT.Components.ExpectedLoans, Vector{BeforeIT.Components.ExpectedLoans}}, Ark._ComponentStorage{BeforeIT.Components.ExpectedSales, Vector{BeforeIT.Components.ExpectedSales}}, Ark._ComponentStorage{BeforeIT.Components.DesiredInvestment, Vector{BeforeIT.Components.DesiredInvestment}}, Ark._ComponentStorage{BeforeIT.Components.DesiredMaterials, Vector{BeforeIT.Components.DesiredMaterials}}, Ark._ComponentStorage{BeforeIT.Components.Owner, Vector{BeforeIT.Components.Owner}}, Ark._ComponentStorage{BeforeIT.Components.Capitalist, Vector{BeforeIT.Components.Capitalist}}, Ark._ComponentStorage{BeforeIT.Components.Firm, Vector{BeforeIT.Components.Firm}}, Ark._ComponentStorage{BeforeIT.Components.GovernmentRevenues, Vector{BeforeIT.Components.GovernmentRevenues}}, Ark._ComponentStorage{BeforeIT.Components.SocialBenefitsInactive, Vector{BeforeIT.Components.SocialBenefitsInactive}}, Ark._ComponentStorage{BeforeIT.Components.SocialBenefitsOther, Vector{BeforeIT.Components.SocialBenefitsOther}}, Ark._ComponentStorage{BeforeIT.Components.PriceInflationGovernmentGoods, Vector{BeforeIT.Components.PriceInflationGovernmentGoods}}, Ark._ComponentStorage{BeforeIT.Components.GovernmentDebt, Vector{BeforeIT.Components.GovernmentDebt}}, Ark._ComponentStorage{BeforeIT.Components.ConsumptionDemand, Vector{BeforeIT.Components.ConsumptionDemand}}, Ark._ComponentStorage{BeforeIT.Components.LocalGovernment, Vector{BeforeIT.Components.LocalGovernment}}, Ark._ComponentStorage{BeforeIT.Components.Government, Vector{BeforeIT.Components.Government}}, Ark._ComponentStorage{BeforeIT.Components.NetDisposableIncome, Vector{BeforeIT.Components.NetDisposableIncome}}, Ark._ComponentStorage{BeforeIT.Components.ExpectedIncome, Vector{BeforeIT.Components.ExpectedIncome}}, Ark._ComponentStorage{BeforeIT.Components.Deposits, Vector{BeforeIT.Components.Deposits}}, Ark._ComponentStorage{BeforeIT.Components.CapitalStock, Vector{BeforeIT.Components.CapitalStock}}, Ark._ComponentStorage{BeforeIT.Components.ConsumptionBudget, Vector{BeforeIT.Components.ConsumptionBudget}}, Ark._ComponentStorage{BeforeIT.Components.InvestmentBudget, Vector{BeforeIT.Components.InvestmentBudget}}, Ark._ComponentStorage{BeforeIT.Components.RealisedConsumption, Vector{BeforeIT.Components.RealisedConsumption}}, Ark._ComponentStorage{BeforeIT.Components.RealisedInvestment, Vector{BeforeIT.Components.RealisedInvestment}}, Ark._ComponentStorage{BeforeIT.Components.Household, Vector{BeforeIT.Components.Household}}, Ark._ComponentStorage{BeforeIT.Components.LoansOutstanding, Vector{BeforeIT.Components.LoansOutstanding}}, Ark._ComponentStorage{BeforeIT.Components.LoanFlow, Vector{BeforeIT.Components.LoanFlow}}, Ark._ComponentStorage{BeforeIT.Components.Profits, Vector{BeforeIT.Components.Profits}}, Ark._ComponentStorage{BeforeIT.Components.ExpectedProfits, Vector{BeforeIT.Components.ExpectedProfits}}, Ark._ComponentStorage{BeforeIT.Components.EuroAreaGDP, Vector{BeforeIT.Components.EuroAreaGDP}}, Ark._ComponentStorage{BeforeIT.Components.EuroAreaGrowth, Vector{BeforeIT.Components.EuroAreaGrowth}}, Ark._ComponentStorage{BeforeIT.Components.EuroAreaInflation, Vector{BeforeIT.Components.EuroAreaInflation}}, Ark._ComponentStorage{BeforeIT.Components.NetForeignPosition, Vector{BeforeIT.Components.NetForeignPosition}}, Ark._ComponentStorage{BeforeIT.Components.ImportSupply, Vector{BeforeIT.Components.ImportSupply}}, Ark._ComponentStorage{BeforeIT.Components.TotalExportDemand, Vector{BeforeIT.Components.TotalExportDemand}}, Ark._ComponentStorage{BeforeIT.Components.TotalImportSupply, Vector{BeforeIT.Components.TotalImportSupply}}, Ark._ComponentStorage{BeforeIT.Components.ExportDemand, Vector{BeforeIT.Components.ExportDemand}}, Ark._ComponentStorage{BeforeIT.Components.ImportSales, Vector{BeforeIT.Components.ImportSales}}, Ark._ComponentStorage{BeforeIT.Components.ImportDemand, Vector{BeforeIT.Components.ImportDemand}}, Ark._ComponentStorage{BeforeIT.Components.ImportPrice, Vector{BeforeIT.Components.ImportPrice}}, Ark._ComponentStorage{BeforeIT.Components.ExportPriceInflation, Vector{BeforeIT.Components.ExportPriceInflation}}, Ark._ComponentStorage{BeforeIT.Components.ForeignSector, Vector{BeforeIT.Components.ForeignSector}}, Ark._ComponentStorage{BeforeIT.Components.ForeignConsumptionDemand, Vector{BeforeIT.Components.ForeignConsumptionDemand}}, Ark._ComponentStorage{BeforeIT.Components.ForeignConsumption, Vector{BeforeIT.Components.ForeignConsumption}}, Ark._ComponentStorage{BeforeIT.Components.RestOfWorldEntity, Vector{BeforeIT.Components.RestOfWorldEntity}}, Ark._ComponentStorage{BeforeIT.Components.RestOfWorld, Vector{BeforeIT.Components.RestOfWorld}}, Ark._ComponentStorage{BeforeIT.Components.Employed, Vector{BeforeIT.Components.Employed}}, Ark._ComponentStorage{BeforeIT.Components.EmployedAt, Vector{BeforeIT.Components.EmployedAt}}, Ark._ComponentStorage{BeforeIT.Components.Inactive, Vector{BeforeIT.Components.Inactive}}, Ark._ComponentStorage{BeforeIT.Components.Unemployed, Vector{BeforeIT.Components.Unemployed}}}, Tuple{Type{BeforeIT.Components.ResidualItems}, Type{BeforeIT.Components.LendingRate}, Type{BeforeIT.Components.Banker}, Type{BeforeIT.Components.Bank}, Type{BeforeIT.Components.StockCacheIndex}, Type{BeforeIT.Components.IntermediaryDemandCacheIndex}, Type{BeforeIT.Components.FinalDemandCacheIndex}, Type{BeforeIT.Components.NominalInterestRate}, Type{BeforeIT.Components.GovernmentBondInterestRate}, Type{BeforeIT.Components.GradualAdjustmentRate}, Type{BeforeIT.Components.EquilibriumInterestRate}, Type{BeforeIT.Components.InflationTargetingWeight}, Type{BeforeIT.Components.EconomicWeight}, Type{BeforeIT.Components.CentralBank}, Type{BeforeIT.Components.PrincipalProduct}, Type{BeforeIT.Components.LaborProductivity}, Type{BeforeIT.Components.IntermediateProductivity}, Type{BeforeIT.Components.CapitalProductivity}, Type{BeforeIT.Components.FirmProperties}, Type{BeforeIT.Components.CapitalDeprecationRate}, Type{BeforeIT.Components.OperatingMargins}, Type{BeforeIT.Components.WageBill}, Type{BeforeIT.Components.AverageWageRate}, Type{BeforeIT.Components.TaxRates}, Type{BeforeIT.Components.Price}, Type{BeforeIT.Components.PriceIndex}, Type{BeforeIT.Components.CFPriceIndex}, Type{BeforeIT.Components.Employment}, Type{BeforeIT.Components.Vacancies}, Type{BeforeIT.Components.DesiredEmployment}, Type{BeforeIT.Components.Output}, Type{BeforeIT.Components.Sales}, Type{BeforeIT.Components.GoodsDemand}, Type{BeforeIT.Components.Inventories}, Type{BeforeIT.Components.Intermediates}, Type{BeforeIT.Components.Investment}, Type{BeforeIT.Components.Equity}, Type{BeforeIT.Components.FinalGoodsStockChange}, Type{BeforeIT.Components.MaterialsStockChange}, Type{BeforeIT.Components.TargetLoans}, Type{BeforeIT.Components.ExpectedCapital}, Type{BeforeIT.Components.ExpectedLoans}, Type{BeforeIT.Components.ExpectedSales}, Type{BeforeIT.Components.DesiredInvestment}, Type{BeforeIT.Components.DesiredMaterials}, Type{BeforeIT.Components.Owner}, Type{BeforeIT.Components.Capitalist}, Type{BeforeIT.Components.Firm}, Type{BeforeIT.Components.GovernmentRevenues}, Type{BeforeIT.Components.SocialBenefitsInactive}, Type{BeforeIT.Components.SocialBenefitsOther}, Type{BeforeIT.Components.PriceInflationGovernmentGoods}, Type{BeforeIT.Components.GovernmentDebt}, Type{BeforeIT.Components.ConsumptionDemand}, Type{BeforeIT.Components.LocalGovernment}, Type{BeforeIT.Components.Government}, Type{BeforeIT.Components.NetDisposableIncome}, Type{BeforeIT.Components.ExpectedIncome}, Type{BeforeIT.Components.Deposits}, Type{BeforeIT.Components.CapitalStock}, Type{BeforeIT.Components.ConsumptionBudget}, Type{BeforeIT.Components.InvestmentBudget}, Type{BeforeIT.Components.RealisedConsumption}, Type{BeforeIT.Components.RealisedInvestment}, Type{BeforeIT.Components.Household}, Type{BeforeIT.Components.LoansOutstanding}, Type{BeforeIT.Components.LoanFlow}, Type{BeforeIT.Components.Profits}, Type{BeforeIT.Components.ExpectedProfits}, Type{BeforeIT.Components.EuroAreaGDP}, Type{BeforeIT.Components.EuroAreaGrowth}, Type{BeforeIT.Components.EuroAreaInflation}, Type{BeforeIT.Components.NetForeignPosition}, Type{BeforeIT.Components.ImportSupply}, Type{BeforeIT.Components.TotalExportDemand}, Type{BeforeIT.Components.TotalImportSupply}, Type{BeforeIT.Components.ExportDemand}, Type{BeforeIT.Components.ImportSales}, Type{BeforeIT.Components.ImportDemand}, Type{BeforeIT.Components.ImportPrice}, Type{BeforeIT.Components.ExportPriceInflation}, Type{BeforeIT.Components.ForeignSector}, Type{BeforeIT.Components.ForeignConsumptionDemand}, Type{BeforeIT.Components.ForeignConsumption}, Type{BeforeIT.Components.RestOfWorldEntity}, Type{BeforeIT.Components.RestOfWorld}, Type{BeforeIT.Components.Employed}, Type{BeforeIT.Components.EmployedAt}, Type{BeforeIT.Components.Inactive}, Type{BeforeIT.Components.Unemployed}}, NTuple{90, Ark.Storage{Vector}}, 90, 2, Tuple{BeforeIT.Components.Owner, BeforeIT.Components.LocalGovernment, BeforeIT.Components.EmployedAt}})

I’m actually not interested in printing those parameters, is there a way I can customize what is shown for that type?

I would like to reduce it to

[3] finalize_search_and_match!(world::Ark.World)

I thought stack traces handling was improved in latest versions of Julia, though I’m not sure if this is already an open problem. Indeed it seems a problem that happens when one runs the tests, not when one uses the REPL which instead prints an abbreviated version.

I think it currently only limits the type printing in MethodError messages: Limit type-printing in MethodError · Pull Request #50809 · JuliaLang/julia ?

This is separate from the issue of abbreviating stack traces, which many people want but the precise approach has been controversial: Suggestion: abbreviate stack traces by default · Issue #40138 · JuliaLang/julia · GitHub

See also the AbbreviatedStackTraces.jl package

(post deleted by author)