This repository was archived by the owner on Jul 19, 2025. It is now read-only.
- Notifications
You must be signed in to change notification settings - Fork24
Python: don't crash on complex-number literals#364
Merged
jmcgill merged 1 commit intocodeclimate:masterfromjakelishman:fix-python-complex-numbersAug 20, 2021
Merged
Python: don't crash on complex-number literals#364
jmcgill merged 1 commit intocodeclimate:masterfromjakelishman:fix-python-complex-numbersAug 20, 2021
Uh oh!
There was an error while loading.Please reload this page.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
Also: if thisis added, it may cause projects to see a spike in detection numbers. Our packageQuTiP would jump from 102 duplication issues to 190, for example. |
hodgestar approved these changesJun 29, 2021
hodgestar left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
👍
f-moya approved these changesJul 30, 2021
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Nice 👍🏼 , thanks for your contribution.
803fd80
to5dd5eed
CompareComplex literals cannot be serialised directly to JSON, but Python's ASTreports them as constant numeric values. Ruby's `to_json` methodserialies complex numbers to their string representations, so we dosimilar here. An alternative would be to serialise to a two-elementlist of the real and imaginary parts.
5dd5eed
to5b01aa3
CompareSign up for freeto subscribe to this conversation on GitHub. Already have an account?Sign in.
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.
Thisfixes#363: crashing on complex-number literals in Python 2 and 3. I modified the JSON serialiser to string-ify complex numbers, rather than passing them directly as numeric values. That's perhaps not 100% ideal, but it's the same as the behaviour of Ruby's
to_json
method. I've added a test that the behaviour works, as well.Running
codeclimate analyze
on the same test file in issue#363 with the same settings (mass_threshold: 1
) now produces the expected output in both Python 2 and Python 3: