Fix crash when constant = bool in diagram#28
Open
dranov wants to merge 1 commit intowilcoxjay:masterfrom
Open
Conversation
When a model returns something of the form
`constant = true`, there's a crash in const_subst().
Before this commit, in `logic.py:const_subst()` you would get
something like:
```Python
BinaryExpr(op='EQUAL', arg1=Id(name='integer_is_decidable', n_new=0,
span=None), arg2=Id(name={(): True}, n_new=0, span=None), span=None)
```
This would crash with a "TypeError: unhashable type: dict" when
executing `ans[e.arg2] = e.arg`.
Collaborator
|
Thank you for submitting this! Can you share a (ideally minimized) example and command line that demonstrates the bug? |
Author
|
Hi @odedp. On the latest This is the file (rename it to It's automatically generated from Ivy, so does not look very nice, but it is valid. |
Author
|
Here's a version that's better to work with: It crashes on |
Collaborator
|
Thank you @dranov. I suspect that it can be minimized much further. Ideally into something we can add to our regression tests. Anyway, @wilcoxjay what do you think about this bug and the proposed fix? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When a model contains something of the form
constant = true, there's a crash in const_subst().Before this commit, in
logic.py:const_subst()you would get something like:This would crash with a "TypeError: unhashable type: dict" when executing
ans[e.arg2] = e.arg.I saw this running UPDR on a specification that had a constant of sort
bool.I'm not sure if this is the best way to fix the issue, but it is the work-around I used.