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

IBM / fp-go / 39272203489
69%

Build:
DEFAULT BRANCH: main
Ran 19 Oct 2026 02:48PM UTC
Jobs 12
Files 1077
Run time 2min
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

19 Oct 2026 02:47PM UTC coverage: 69.037% (+0.3%) from 68.689%
39272203489

push

github

web-flow
feat: catch errors by type in all result monads (#284)

* feat: catch errors by type in all result monads

Port CatchAs, CatchIs, MapErrorAs and TapErrorAs from effect and
context/readerioresult to every monad whose error channel is error:
result, ioresult, readerresult, readerioresult, context/readerresult,
context/statereaderioresult, iterator/iterresult and the idiomatic
result, ioresult, readerresult, readerioresult and context/readerresult
packages.

The matching logic lives once in internal/catch, generic over the
operator type, with a tuple variant for idiomatic/result. Each package
passes in its own ChainLeft, MapLeft, TapLeft and Left. The context
variants delegate to their non-context counterparts and only check the
context around a matching handler, so errors that do not match pass
through unchanged when the context is cancelled. context/readerioresult
and context/readerreaderioresult now use the shared code as well.

Add the error channel primitives that were missing:

- ChainFirstLeft and TapLeft (and the Monad forms) for result,
  readerresult, idiomatic/result, idiomatic/readerresult and
  idiomatic/context/readerresult, TapLeft for context/readerresult
- MonadChainLeft, ChainLeft, OrElse, MonadMapLeft, MapLeft,
  MonadChainFirstLeft, ChainFirstLeft, MonadTapLeft and TapLeft for
  idiomatic/readerioresult and context/statereaderioresult, lifted from
  the inner monad with internal/readert

In context/statereaderioresult a failure carries no state, so the
handler starts from the state that the failed computation started from.

Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>

* test: share the catch and error channel tests in internal/catch/catchtest

The catch-by-type tests of the 15 monads with an error channel of type
error were copies of each other. Move them into a shared suite:

- catchtest holds the fixture errors and the test cases once.
  TestCatch covers CatchAs, CatchIs, MapErrorAs and TapErrorAs,
  TestLeft covers Ch... (continued)

37052 of 53670 relevant lines covered (69.04%)

29310.87 hits per line

Jobs
ID Job ID Ran Files Coverage
1 v1-go-1.22.x - 39272203489.1 19 Oct 2026 02:48PM UTC 498
27.22
GitHub Action Run
2 v1-go-1.25.x - 39272203489.2 19 Oct 2026 02:49PM UTC 498
27.22
GitHub Action Run
3 v1-go-1.23.x - 39272203489.3 19 Oct 2026 02:48PM UTC 498
27.22
GitHub Action Run
4 v2-go-1.26.x - 39272203489.4 19 Oct 2026 02:52PM UTC 972
61.15
GitHub Action Run
5 v2-go-1.27.x - 39272203489.5 19 Oct 2026 02:51PM UTC 978
59.05
GitHub Action Run
6 v1-go-1.27.x - 39272203489.6 19 Oct 2026 02:49PM UTC 498
25.57
GitHub Action Run
7 v2-go-1.25.x - 39272203489.7 19 Oct 2026 02:52PM UTC 972
61.15
GitHub Action Run
8 v1-go-1.20.x - 39272203489.8 19 Oct 2026 02:48PM UTC 456
31.83
GitHub Action Run
9 v2-go-1.24.x - 39272203489.9 19 Oct 2026 02:52PM UTC 972
61.15
GitHub Action Run
10 v1-go-1.24.x - 39272203489.10 19 Oct 2026 02:49PM UTC 498
27.22
GitHub Action Run
11 v1-go-1.21.x - 39272203489.11 19 Oct 2026 02:48PM UTC 456
31.83
GitHub Action Run
12 v1-go-1.26.x - 39272203489.12 19 Oct 2026 02:48PM UTC 498
27.22
GitHub Action Run
Source Files on build 39272203489
  • Tree
  • List 1077
  • Changed 11
  • Source Changed 0
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39272203489
  • 71bcc518 on github
  • Prev Build on main (#39247670987)
  • Next Build on main (#39287552579)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc