Open pjljvandelaar opened 5 years ago
I don't know if the .hi files contain sufficient information or not - someone needs to verify that.
About the title: For me Detect definitions used but not reexported sounds more understandable than Detect definitions used by not reexported
@pjljvandelaar the title was a typo :)
Weeder 2.0 is being developed at https://github.com/ocharles/weeder so I suggest you go see if that fixes your issues.
When working in a large project, I don't want to duplicate the dependencies of files/packages I use. In other words, I would like my abstraction to be complete: no other imports are needed to work with it.
For example, assume a package defines X. Another package defines a Producer and Consumer of X (and thus depends on the package defining X). A third package, which wants to use the Producer and Consumer in a decoupled way needs to store the results in buffer of type X. When the package of the Producer and Consumer does NOT re-export X, the third package must also depends on the package defining X. I consider this dependency unwanted: you must be able to use an interface as is, i.e., in a context where Producer is defined also X must be defined.
However, I was unable to find any tool, including weeder, that performs such a check!
So my question: can weeder check that all necessary definitions are include in the export of a file / package?