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

toLeopard: Strict number casting #149

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

towerofnix
Copy link
Member

@towerofnix towerofnix commented Jul 1, 2024

Resolves #123. Related to leopard-js/leopard-mentors#4 and #150.

This PR implements the proposal most particularly outlined in #123 (comment). It's intended as an alternative, and probably lesser, option, compared to the "traits" system outlined in - well, the same comment ✨ - and we'd like to have a go at implementing that one, before merging this. However, both PRs should be equally effective in generally fixing issues to do with surprise NaN in converted projects. (That being the case, behavior-testing projects are much needed.)

We haven't looked into it in great detail yet, but it appears to - more or less - fix the behavior of the case project (leopard-js/leopard-mentors#4), which has code that apparently sets sprite sizes to NaN.

This code is from December 2023 and we haven't made any significant edits except for rebasing it onto current master.

@towerofnix towerofnix added compatibility Mismatch or currently unsupported language behavior fmt: Leopard Pertains to Leopard format (JavaScript) labels Jul 1, 2024
@towerofnix towerofnix changed the title Strict number casting toLeopard: Strict number casting Jul 2, 2024
towerofnix added a commit to towerofnix/sb-edit that referenced this pull request Jul 2, 2024
This commit includes (or should include) all the same NaN-handling
rules as researched and defined for pull request leopard-js#149, accounting
for almost all new logic / line additions in this commit.
@towerofnix towerofnix marked this pull request as ready for review July 2, 2024 18:28
@towerofnix towerofnix requested a review from PullJosh July 2, 2024 18:29
@towerofnix
Copy link
Member Author

Note for reviewing: refer to #150 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compatibility Mismatch or currently unsupported language behavior fmt: Leopard Pertains to Leopard format (JavaScript)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

toLeopard: Static number casting issues in equality operator + NaN leaking
1 participant