I have encountered some serious problem while using refactoring to clean up dependencies between modules:
I moved a class F from package f in module "foo" to package p in module "bar". "foo" depends on "bar", so classes in "foo" can access classes in "bar", but not vice versa.
However F had dependencies on another class G in f (I didn't notice that beforehand, because it wasn't in the "imports" section). Idea DID NOT WARN me that the move will break my code.
Even WORSE when I was moving class G also from f to p, Idea did not correct the broken references in F.
It seems that Idea treats references to a class F in a module that isn't accesible from the current module as "unknown" and having nothing to do with the F.
While this might be the pure and clean logic of module dependencies, this is far from pragmatic.
I am doing major refactorings in a large project and try to extract parts of a module to a new module. I have given up to use two modules in Idea, but now have two content roots in the same module. Basically I am now using ant to show any broken dependencies between both source roots and try to fix them in Idea. It's just not practically to let Idea detect thos broken dependencies by having two modules, though that could save me a lot of time.
I am not sure which tracker entries to file or even what to search for to check if they already exist.