Backpack doesn't reject insufficiently instantiated units early enough
Failing to instantiate a unit which has free holes does not raise an error when it should, so we get a confusing error later on:
unit p where
signature H where
data S
unit q where
dependency p -- we should instantiate, e.g. by writing p[H=<H>], but we don't
module N where
import H
error:
Could not find module `H'
It is not a module in the current program, or in any known package.
|
7 | import H
| ^^^^^^^^
I think we should be required to instantiate p, getting an error early on.
This doesn't only affect .bkp files, as omitting instantiation can also cause "Could not find module" errors when using cabal.
Edited by sheaf