0
votes

I am updating my code from Julia v0.6 to v0.7. I get the following error at runtime:

 Warning: Deprecated syntax `parametric method syntax Base.show{S (io::IO, m::Base.MIME("text/plain"), scvec::Vector{StatesContainer{S}}) around /Users/logankilpatrick/.julia/packages/SHERPA/A8APz/src/utils/states_containers.jl:74.

Use Base.show(io::IO, m::Base.MIME("text/plain"), scvec::Vector{StatesContainer{S}}) where S instead.

So I do the following:

Original code: Base.show{S}(io::IO, m::Base.MIME("text/plain"), scvec::Vector{StatesContainer{S}})

Updated Code: function Base.show(io::IO, m::Base.MIME("text/plain"), scvec::Vector{StatesContainer{S}}) where S

I still get the following error: ERROR: LoadError: LoadError: ArgumentError: invalid type for argument m in method definition for show at /Users/logankilpatrick/.julia/packages/SHERPA/A8APz/src/utils/states_containers.jl:74

All line 74 shows is: println(io, typeof(scvec))

Any suggestions as to how to resolve this issue?

Thanks!

Note: I tried commenting out what was on line 74, and re-running it. It then said there was an issue with line 76!

I also tried getting rid of the "where S" part at the end of the function but that doesn't resolve the issue.

1

1 Answers

2
votes

A correct signature is:

Base.show(io::IO, m::MIME{Symbol("text/plain")}, scvec::Vector{StatesContainer{S}}) where S