Skip to content

Stop throwing parse_error on string-to-int/float conversion failures if not forced with tag #431

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

Merged

Conversation

fktn-k
Copy link
Owner

@fktn-k fktn-k commented Nov 20, 2024

This PR has fixed the issue reported in #428, that is, conversion failure from a string to either an integer or a floating point value throws a parse_error exception.
The error should be recovered by treating the source scalar as a string scalar instead if the scalar is not tagged with !!int, !!float or the equivalents.
Note that conversion to null and boolean scalars are not considered as recoverable since their presentations are restricted to literals defined in the YAML spec, e.g., null, true or False.


Pull Request Checklist

Read the CONTRIBUTING.md file for detailed information.

  • Changes are described in the pull request or in a referenced issue.
  • The test suite compiles and runs without any error.
  • The code coverage on your branch is 100%.
  • The documentation is updated if you added/changed a feature.

Please don't

  • The C++11 support varies between different compilers and versions. Please note the list of supported compilers. Some compilers like GCC 4.7 (and earlier), Clang 3.3 (and earlier), or Microsoft Visual Studio 13.0 and earlier are known not to work due to missing or incomplete C++11 support. Please refrain from proposing changes that work around these compiler's limitations with #ifdefs or other means.
  • Please refrain from proposing changes that would break YAML specifications. If you propose a conformant extension of YAML to be supported by the library, please motivate this extension.
  • Please do not open pull requests that address multiple issues.

@fktn-k fktn-k added the bug Something isn't working label Nov 20, 2024
@fktn-k fktn-k added this to the Release v0.3.15 milestone Nov 20, 2024
@fktn-k fktn-k self-assigned this Nov 20, 2024
Copy link

:octocat: Upload Coverage Event Notification

Coverage data has been uploaded for the commit fd43f485cbf225a72617e5f67236aeecd14640d3.
You can download the artifact which contains the same file uploaded to the Coveralls and its HTML version.

Name fkYAML_coverage.pr431.zip
ID 2213667634
URL https://github.com/fktn-k/fkYAML/actions/runs/11936008305/artifacts/2213667634

@fktn-k fktn-k changed the title Stop throwing exceptions on string-to-int/float conversion failures if not forced with tag Stop throwing parse_error on string-to-int/float conversion failures if not forced with tag Nov 20, 2024
@fktn-k fktn-k merged commit 5b6ac14 into develop Nov 20, 2024
171 checks passed
@fktn-k fktn-k deleted the bugfix/428_stop_throw_exception_on_scalar_conv_error branch November 20, 2024 15:25
@fktn-k fktn-k added the breaking change Some breaking change has been made label Nov 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change Some breaking change has been made bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant