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.
@jpolitz Hi professor, I have located the conflicts and bugs, however, I found one conflict in our design with list team:
In list team, the elements in the list should be the same, or at least assignable to the 1st element, which means:
is invalid.
However, in our design, we did have made the destructure assignment possible:
And since the RHS exprs now have been converted to the same AST node
{tag: "construct-list", items: []}
, the conflict appears.Now there is only one test case in list tests failed. I am wondering whether the list team could make their limition a little more flexible by removing the limitation of enforcing the same type elements in list?
1) tc for lists construct list with different types: AssertionError: expected [Function] to throw an error
There is also one way to make we two teams' designs compatible: For
[1, 2]
, we could make it{tag: "construct-list", items: [1, 2]}
, and1, False
to{tag: "array-expr", items: [1, False]}
. This would solve the conflict perfectly.