@Chris: I agree; if warnings were typed, we could selectively activate
them. I'm using regexes for now:
ClobberingReload.scrub_stderr(r"WARNING\: redefining constant .*\n",
r"WARNING\:
replacing docs for .*\n", ...) do
...
end
On Tuesday, September 27, 2016 at 3:43:15 PM UTC-4, Chris Rackauckas wrote:
>
> Or just a standard way to suppress warnings of a given type (say,
> surpress("MethodDefinition")). For now, Suppressor.jl
> <https://github.com/Ismael-VC/Suppressor.jl> does well.
>
> On Tuesday, September 27, 2016 at 12:13:00 PM UTC-7, Andrew wrote:
>>
>> It seems like a lot of people are complaining about this. Is there some
>> way to suppress method overwritten warnings for an include() statement?
>> Perhaps a keyword like include("foo.jl", quietly = true)?
>>
>> On Tuesday, September 27, 2016 at 1:56:27 PM UTC-4, Daniel Carrera wrote:
>>>
>>> Hello,
>>>
>>> I'm not sure when I upgraded, but I am using Julia 0.5 and now it
>>> complains every time I redefine a method, which is basically all the time.
>>> When I'm developing ideas I usually have a file with a script that I modify
>>> and reload all the time:
>>>
>>> julia> include("foo.jl");
>>>
>>> ... see the results, edit file ...
>>>
>>> julia> include("foo.jl");
>>>
>>> ... see the results, edit file ...
>>> julia> include("foo.jl");
>>>
>>> ... see the results, edit file ...
>>>
>>>
>>> And so on. This is what I do most of the time. But now every time I
>>> `include("foo.jl")` I get warnings for every method that has been redefined
>>> (which is all of them):
>>>
>>> julia> include("foo.jl");
>>>
>>> WARNING: Method definition (::Type{Main.Line})(Float64, Float64) in
>>> module Main at /home/daniel/Data/Science/Thesis/SI.jl:4 overwritten at
>>> /home/daniel/Data/Science/Thesis/SI.jl:4.
>>> WARNING: Method definition (::Type{Main.Line})(Any, Any) in module Main
>>> at /home/daniel/Data/Science/Thesis/SI.jl:4 overwritten at
>>> /home/daniel/Data/Science/Thesis/SI.jl:4.
>>> WARNING: Method definition new_line(Any, Any, Any) in module Main at
>>> /home/daniel/Data/Science/Thesis/SI.jl:8 overwritten at
>>> /home/daniel/Data/Science/Thesis/SI.jl:8.
>>>
>>>
>>> Is there a way that this can be fixed? How can I recover Julia's earlier
>>> behaviour? This is very irritating, and I don't think it makes sense for a
>>> functional language like Julia. If I wrote a method as a variable
>>> assignment (e.g. "foo = x -> 2*x") Julia wouldn't complain.
>>>
>>>
>>> Thanks for the help,
>>> Daniel.
>>>
>>