Skip to content

Bump scala-parser-combinators from 2.1.0 to 2.4.0 - #883

Open
rabestro wants to merge 1 commit into
mainfrom
align-parser-combinators-version
Open

Bump scala-parser-combinators from 2.1.0 to 2.4.0#883
rabestro wants to merge 1 commit into
mainfrom
align-parser-combinators-version

Conversation

@rabestro

Copy link
Copy Markdown
Member

Follow-up to exercism/scala-test-runner#63, which fixed #863 by adding scala-parser-combinators to the test runner's assembly jar.

That fix went in at 2.4.0, while the five exercises that declare the dependency still pin 2.1.0:

  • alphametics
  • forth
  • matching-brackets
  • sgf-parsing
  • wordy

So a solution resolved 2.1.0 when run locally with sbt and 2.4.0 when submitted to the website. For the RegexParsers API these exercises use that difference is harmless — but there is no reason for the two environments to disagree, and 2.4.0 is what this repo's own root build.sbt already uses for testgen.

This is a version-only change; no exercise source is touched.

Verification

bin/test can't run on macOS (it uses mktemp --suffix and sed -i -e, both GNU-only — see #842), so I ran the equivalent on a copy of each exercise: install .meta/Example.scala over the stub per .meta/config.json, strip pending, then sbt test.

Run at both versions, the results are identical:

exercise tests 2.1.0 2.4.0 warnings
alphametics 10 pass pass 2, unchanged
forth 46 pass pass 1, unchanged
matching-brackets 15 pass pass 1, unchanged
sgf-parsing 12 pass pass 2, unchanged
wordy 16 pass pass 1, unchanged

The warnings are pre-existing (pattern-match exhaustivity on parseAll results, plus an implicit-conversion feature warning in alphametics and sgf-parsing); the bump neither adds nor removes any.

bin/configlet lint passes.

Aligns the five exercises that declare the dependency with the version
the test runner now provides in its assembly jar
(exercism/scala-test-runner#63), and with the 2.4.0 already used by this
repo's own root build.sbt for testgen.

Before this, a solution resolved 2.1.0 when run locally with sbt and
2.4.0 when submitted to the website. Harmless in practice for the
RegexParsers API these exercises use, but there is no reason for the two
environments to differ.

Verified by running each exercise's example against its test suite, with
`pending` stripped, at both versions: alphametics 10, forth 46,
matching-brackets 15, sgf-parsing 12 and wordy 16 tests pass either way,
with identical compiler warning counts. `configlet lint` passes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

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.

[no important files changed]

For more information, refer to the documentation. If you are unsure whether to add the message or not, please ping @exercism/maintainers-admin in a comment. Thank you!

@rabestro rabestro self-assigned this Aug 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SGF Parsing exercise is broken due to missing scala-parser-combinators dependency after Scala 3 migration

1 participant