Skip to content

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
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information