Fix comparaison between optional list when one is None #3618
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.
Fix #3617
The error actually comes from:
Because the code expect
xs_1
andys_1
to be list. But because thedef equal
inutil.py
doesn't capture theSome .. vs None
difference early, then we try to access.tail
on aNone
value.I believe JavaScript implementation does something similar to capture these case early (line 474 - 476)
Fable/src/fable-library/Util.ts
Lines 471 to 489 in 8ee247a
I am not sure what
a is b
does in Python, so I let it there and disabled theNone, None
check as it was already handled bya is b
.Also, I can't "fix"
List.equal
definition because this is coming fromList.fs
so I expect that it's implementation is correct and behaving the same as in FSharp.Core