Bill Baxter wrote:
On Fri, Nov 13, 2009 at 9:51 AM, Clay Smith <clay.smit...@gmail.com> wrote:
Leandro Lucarella wrote:
I'm sorry to bring up another "How about Go's ..." topic, but I think this
feature is very in sync with D and it should be really easy to implement.

Go issues an error if you have an import that's never used, to avoid
unnecessary dependencies.

Do you see any reasons not to do that? I think it happens very often to
stop using some import and never notice it.

No, this is a job to be left to the IDE, not compiler.

Well, just a small argument for the contrary, but you may be importing
some module precisely for the purpose of getting its module
constructors to run.  For instance the module constructor may have a
call like RegisterComponent(thisModule) in it.  Think of a set of
image format loaders that register themselves with the main
ImageLoader module.  Then you call ImageLoader.load(filename).
Nowhere in your code do you care if it is a PNG or not.  You only need
to use the ImageLoader's API.

Also there's public imports.  And all.d type modules with nothing but
pubilic imports.

There's no way an IDE can know about those intents.  So that argues
that there should be a way in the language to indicate "i know it
doesn't look like I'm using this, but I am".   And if that's in the
language then the compiler might as well do the checking, too.

Ok, not a super strong argument... unless D changed to compile things
the way Go does, rolling in all deps.

How about that one from Go?  Including all deps in an obj.  Could D
use the same trick to speed up compilation further?

--bb

I'm not really understanding what you are saying, but I see no need for the compiler to error on unused import. If anything, the compiler can just ignore it, or have a flag to find unused imports. I would like my all.d files to not give errors :o

Reply via email to