You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm experiencing an awkward error when nesting parallelReduce(). I'm not sure whether this is expected behavior or a bug. Specifically I'm encountering Example 4, but found the same error for a different situation in Example 3.
When a case on the outer PR uses the same participant as a case on the inner PR, an error is thrown: reachc: error: ./index.rsh:24:29:const: Invalid name shadowing. Identifier 't' is already bound at ./index.rsh:15:21:id. It cannot be bound again at ./index.rsh:24:29:id
When a case on the outer PR uses participant A, and the inner PR uses participant B in multiple cases, an error is thrown: reachc: error: ./index.rsh:24:29:application: Invalid name shadowing. Identifier 't' is already bound at ./index.rsh:15:21:id. It cannot be bound again at ./index.rsh:24:29:id. Given that examples 1 and 2 both pass verification, it seems like this should pass as well, yet it does not.
Issue Overview
I'm experiencing an awkward error when nesting parallelReduce(). I'm not sure whether this is expected behavior or a bug. Specifically I'm encountering Example 4, but found the same error for a different situation in Example 3.
Example 1 - passes
A non-nested PR that uses participant A in multiple cases passes verification: https://github.com/reach-sh/reach-lang/blob/master/examples/multiple-pr-case/index.rsh
Example 2 - passes
When nested PRs use different participants in their cases, the code passes verification.
Example 3 - fails
When a case on the outer PR uses the same participant as a case on the inner PR, an error is thrown:
reachc: error: ./index.rsh:24:29:const: Invalid name shadowing. Identifier 't' is already bound at ./index.rsh:15:21:id. It cannot be bound again at ./index.rsh:24:29:id
Example 4 - fails
When a case on the outer PR uses participant A, and the inner PR uses participant B in multiple cases, an error is thrown:
reachc: error: ./index.rsh:24:29:application: Invalid name shadowing. Identifier 't' is already bound at ./index.rsh:15:21:id. It cannot be bound again at ./index.rsh:24:29:id
. Given that examples 1 and 2 both pass verification, it seems like this should pass as well, yet it does not.The text was updated successfully, but these errors were encountered: