The compiler can't determine that there are no conflicts in the case where the method uses a type that is local to the module? That is the *only* case where I am saying that it should not be necessary to have an "import Base.bar" or "import Foo.bar" if I want to export a function and have it available at a higher level, and not have to worry that later on somebody adding bar to Base or Foo will cause my module to stop working? What if I had a getsockname function? ;-) That name was just added to Base tonight apparently... so my code would break... Not good!
On Saturday, April 25, 2015 at 7:49:33 PM UTC-4, [email protected] wrote: > > I think the key issue is your: > > >> I believe they should be able to use both, as long as there aren't any >> real conflicts, *without* spurious warnings... >> > > As Jeff said, the problem is "aren't any real conflicts" is not possible > to determine in all cases, and can be costly in others. And IIUC its not > possible to know ahead of time if it can be determined. > > So because its not practically possible to protect against problematic > situations, Julia plays it safe and complains about all situations. > > Cheers > Lex >
