Skip to content
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

Verification 1021 not called by the same chainings (mlang vs compir) #174

Open
ddeclerck opened this issue Jul 25, 2022 · 3 comments
Open

Comments

@ddeclerck
Copy link
Collaborator

Verification 1021 is called by the following chainings when compiled with mlang :

verif_saisie_cohe_corrective
verif_saisie_cohe_primitive

However, it is called by the following chainings with compir :

verif_calcul_primitive
verif_calcul_corrective

This is weird because verif 1021 only refers to input variables (context and family), so it should indeed end up in verif_saisie_xxx.
It's even weirder because verif 1019 just above also uses only input variables (context and family) and correctly ends up in verif_saisie_xxx both with mlang and compir.

The only difference I see is that rule 1021 uses a for "loop", although I can't see why this would make any difference.

@Keryan-dev
Copy link
Collaborator

We could either look the code of compir up, or pester people around to see what the expected result should be (and inevitably report the bug, or cringe at the weird choice made). I choose the latter.

@ddeclerck
Copy link
Collaborator Author

Having looked for an explanation in compir's source code, I too believe we should resort to the second option :D

@ddeclerck
Copy link
Collaborator Author

Investigating compir's source code a bit more, I found that this behavior is a consequence of a "fix" for some verifications that were supposedly not called under "for" constructs (semexp.c, expr_prepare_verifs_indiv). Removing the "fix" in compir did not result in missing verifications though, and the verifications were called in the right chaining. So, we're just going to ignore this weird behavior, and keep this issue here for reference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants