Ok so now let's say I rename the directory "lib" to "foo". If I don't change the "import lib.hello" to "import foo.hello", how is the compiler going to find "hello.d"?
You have to tell the compiler where it is. Either way, the module name is *not* optional.
(As a reminder, as I said, I'm using separate compilation)
meh that's part of your problem, why are you doing it that way?
