@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. >>> >>