On 6 December 2012 17:04, Stefan Karpinski <
ste...@karpinski.org> wrote:
> Export controls what names in your module get seen when some other module
> does "using Foo". When you add methods to something from Base, you are
> modifying that function object, and export has no effect on who sees that –
> anyone using that function will be affected, regardless of how they got it.
> (I don't know what WAD means.)
It means Working As Designed, thanks.
> Yes, that's the intended behavior. If you use + before using ModuleName
> statement, then you must intend to use Base's + so that's the one you get.
Thanks again, it just felt weird to see a function overwritten or not
based on previous use. (I found this when using another method in the
module which depended on +(Int64, Int64), and so didn't work, as + was
overwritten). I guess one should never export functions from Base you
want to just extend, not overwrite.