• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pureconfig / pureconfig / 28124501993
95%

Build:
DEFAULT BRANCH: master
Ran 24 Jun 2026 07:39PM UTC
Jobs 2
Files 110
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 Jun 2026 07:34PM UTC coverage: 94.625% (-0.1%) from 94.732%
28124501993

push

web-flow
Use case class defaults in Scala 3 `derives` derivation (#1943)

Fixes 1673: `ConfigReader`s derived in Scala 3 via `derives` clauses
fail with `KeyNotFound` when the key for a parameter with a default
value is missing from the config.

This moves the `getDefaults` macro from `pureconfig-generic-scala3`
to `pureconfig-core` and uses it in the case-class branch of the core
derivation, with `pureconfig-generic-scala3` reusing it from its new
location — the approach suggested in the review of 1675, and one of
the code-reuse follow-ups anticipated in 1636.

The semantics follow the hints-aware derivation under the default
`ProductHint`: a default is used exactly when its key is missing,
taking precedence over `ReadsMissingKeys` readers, and defaults are
evaluated lazily (preserving the 1218 fix). With this change,
`derives` parses the same configs to the same values as
`pureconfig-generic-scala3` under default hints. Hint support in
`derives` remains intentionally out of scope (1742).

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Rui Gonçalves <ruippeixotog@gmail.com>

15 of 15 new or added lines in 2 files covered. (100.0%)

8 existing lines in 6 files now uncovered.

2764 of 2921 relevant lines covered (94.63%)

2.37 hits per line

Coverage Regressions

Lines Coverage ∆ File
2
84.31
-1.96% core/src/main/scala/pureconfig/ConfigSource.scala
2
99.56
-0.44% core/target/scala-3.3.8/src_managed/main/pureconfig/ProductWriters.scala
1
64.29
-7.14% core/src/main/scala/pureconfig/backend/ErrorUtil.scala
1
94.44
-5.56% core/src/main/scala/pureconfig/PeriodUtils.scala
1
80.0
5.0% modules/enumeratum/src/main/scala/pureconfig/module/enumeratum/package.scala
1
50.0
0.0% modules/javax/src/main/scala/pureconfig/module/javax/package.scala
Jobs
ID Job ID Ran Files Coverage
1 Scala 3 - 28124501993.1 24 Jun 2026 07:39PM UTC 79
89.55
2 Scala 2.13 - 28124501993.2 24 Jun 2026 07:41PM UTC 101
91.7
Source Files on build 28124501993
  • Tree
  • List 110
  • Changed 6
  • Source Changed 1
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • b1c33a88 on github
  • Prev Build on master (#27986760305)
  • Next Build on master (#28136686412)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc