decimal: replace try_from with FromStr impl - #2168
Conversation
Implements exercism#1037. Replaces the custom Decimal::try_from method with `impl FromStr for Decimal`, so students (and test/example code) parse with `.parse()` instead of a bespoke constructor. Updates the example solution, student stub, and test file accordingly. All 44 exercise tests and clippy pass against the updated example.
|
Hello. Thanks for opening a PR on Exercism 🙂 We ask that all changes to Exercism are discussed on our Community Forum before being opened on GitHub. To enforce this, we automatically close all PRs that are submitted. That doesn't mean your PR is rejected but that we want the initial discussion about it to happen on our forum where a wide range of key contributors across the Exercism ecosystem can weigh in. You can use this link to copy this into a new topic on the forum. If we decide the PR is appropriate, we'll reopen it and continue with it, so please don't delete your local branch. If you're interested in learning more about this auto-responder, please read this blog post. Note: If this PR has been pre-approved, please link back to this PR on the forum thread and a maintainer or staff member will reopen it. |
|
This PR touches files which potentially affect the outcome of the tests of an exercise. This will cause all students' solutions to affected exercises to be re-tested. If this PR does not affect the result of the test (or, for example, adds an edge case that is not worth rerunning all tests for), please add the following to the merge-commit message which will stops student's tests from re-running. Please copy-paste to avoid typos. For more information, refer to the documentation. If you are unsure whether to add the message or not, please ping |
Summary
Closes #1037.
Replaces the custom
Decimal::try_frommethod withimpl FromStr for Decimal, so parsing goes through the idiomatic.parse()rather than a bespoke constructor. Updated the example solution, the student stub, and the test file accordingly.Test plan
./bin/test_exercise.sh decimal— all 44 tests pass against the updated exampleCLIPPY=1 ./bin/test_exercise.sh decimal— no clippy warningscargo check --testson the unmodified student stub — fails only on the pre-existing intentionally-unimplemented operators (perconfig.json'sallowed-to-not-compile), no FromStr-related errors