Как разрешить "Предупреждение: Устаревший синтаксис" Синтаксис параметрического метода Base.show {S} "в Julia - PullRequest
0 голосов
/ 10 октября 2018

Я обновляю свой код с Julia v0.6 до v0.7.Я получаю следующую ошибку во время выполнения:

 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.

Используйте вместо Base.show(io::IO, m::Base.MIME("text/plain"), scvec::Vector{StatesContainer{S}}) where S.

Поэтому я делаю следующее:

Исходный код: Base.show{S}(io::IO, m::Base.MIME("text/plain"), scvec::Vector{StatesContainer{S}})

Обновленный код: function Base.show(io::IO, m::Base.MIME("text/plain"), scvec::Vector{StatesContainer{S}}) where S

Я все еще получаю следующую ошибку: 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

Вся строка 74 показывает: println(io, typeof(scvec))

Любые предложения относительнокак решить эту проблему?

Спасибо!

Примечание. Я попытался закомментировать то, что было в строке 74, и перезапустить его.Затем он сказал, что есть проблема со строкой 76!

Я также пытался избавиться от части "где S" в конце функции, но это не решает проблему.

1 Ответ

0 голосов
/ 10 октября 2018

Правильная подпись:

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