-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Solver losing assumptions in parameterized modules #883
Comments
Here's another simple case for whoever tackles this issue. Take the parameterized module:
the instantiated module:
and the importing module:
Crypol will error out on the importing module:
|
This fixes #796. It also fixes the @bboston7's example on #883, but not the original example in #883. The issue there is that `asdf` function generates a constraint only involving the module parameter. Normally we don't try to solve constraint that don't mention a schema's parameters, because they can always be solved "later", and hopefully with more things instantiated. The weird thing in this case is that the schema adds *local" constraint to the module parameters, but we end up ignoring these.
I have a pull request that fixes @bboston7's example, but the issue in the original example is only somewhat related to the module system. Here is an example of the same sort of issue without the module system:
This fails for much the same reason as @robdockins original example:
Basically the problem is when a schema introduces local assumptions that do not mention any of the schema's variables. The I can see two solutions here:
@robdockins @brianhuffman thoughts? |
I ended up doing the more aggressive checking---it was a small change---and now the original example works. By the way, the example I gave above is not exactly equivalent to Rob's original one, as of course the use of
|
Should be fixed via #959 |
Attempting to load the following file results in an error. It seems like the constraint solver is somehow losing track of some assumptions, because I believe this should be trivial. I can't seem to reproduce this bug without involving module parameters, so there seems to be some interaction there.
The text was updated successfully, but these errors were encountered: