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

steve-downey / sandbox-expected
97%

Build:
DEFAULT BRANCH: main
Repo Added 01 Jun 2026 02:10PM UTC
Token vNTjbSsBIpaCpAOQv1eNcQ3DYSZFCHwmW regen
Build 34 Last
Files 3
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

LAST BUILD ON BRANCH main
branch: main
CHANGE BRANCH
x
Reset
Sync Branches
  • main
  • expected-over-references
  • expected-over-references-replay
  • merge-upstream

07 Jul 2026 12:30PM UTC coverage: 97.017% (+6.8%) from 90.196%
28965523762

push

github

web-flow
Expected over references (#61)

## Expected over References — Implementation of D4280R0

### Summary

Implements four partial specializations of `beman::expected` that allow
reference types as `T` and/or `E`, as proposed in [D4280R0 (Expected
over References)](https://wg21.link/D4280R0):

| Specialization | Storage | Step |
|---|---|---|
| `expected<T&, E>` | `T*` + `union { E }` + bool | 7 |
| `expected<T, E&>` | `union { T }` + `E*` + bool | 8 |
| `expected<T&, E&>` | `T*` + `E*` + bool | 9 |
| `expected<void, E&>` | `E*` + bool | 10 |

This is a reordered, cleaned-up replay of `expected-over-references`
(see that branch's own PR for the original messy history) — the final
code/tests/docs are the same feature, restructured so `unexpected<E&>`
is specialized first and the error-reference axis collapses into the
primary/void templates from the start, instead of building and later
discarding three separate reference-error specializations.

On top of that replay, this branch is merged with `main`'s new
std::expected parity test harness (parameterizes the behavioral test
suite to run against both `beman::expected` and `std::expected`),
resolving the merge conflict between the two and fixing two
toolchain-specific issues that surfaced running the merged suite in CI
(see `docs/std-parity.md`):

- A `[[nodiscard]]`-discard warning under `-Werror`.
- A libc++ cross-specialization friend-access bug in heterogeneous
`std::unexpected` comparison (guarded out for `std::expected`, not a
beman defect).

The std::expected parity target (`.std`) is also skipped entirely on
libc++ — libc++ has independent bugs of its own in this exact area (see
`docs/std-parity.md`) that aren't worth chasing; it continues to run
normally under gcc/libstdc++ and clang-with-libstdc++.

**CI:** full matrix green (gcc 13–16, clang 19–22, appleclang, libstdc++
and libc++, multiple sanitizer/Werror/coverage/modules configurations).

### Design decisions

All four specializations follow the... (continued)

683 of 704 relevant lines covered (97.02%)

25.96 hits per line

Relevant lines Covered
Build:
Build:
704 RELEVANT LINES 683 COVERED LINES
25.96 HITS PER LINE
Source Files on main
  • Tree
  • List 3
  • Changed 3
  • Source Changed 2
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
28965523762 main Expected over references (#61) ## Expected over References — Implementation of D4280R0 ### Summary Implements four partial specializations of `beman::expected` that allow reference types as `T` and/or `E`, as proposed in [D4280R0 (Expected over... push 08 Jul 2026 06:20PM UTC web-flow github
97.02
28727985002 main Merge std::expected parity test harness Parameterize the behavioral test suite over the expected implementation and run it against std::expected to lock in parity before the reference specializations. See docs/std-parity.md. push 05 Jul 2026 03:18AM UTC steve-downey github
90.2
27492379974 main chore(deps): bump the github-actions group across 1 directory with 8 updates (#55) Bumps the github-actions group with 8 updates in the / directory: | Package | From | To | | --- | --- | --- | | [bemanproject/infra-workflows/.github/workflows/re... push 14 Jun 2026 07:51AM UTC web-flow github
90.2
26815672285 main add Doxygen push 02 Jun 2026 11:07AM UTC steve-downey github
90.2
26794956407 main Merge pull request #2 from steve-downey/merge-upstream Merge upstream: sync with bemanproject/sandbox-expected push 02 Jun 2026 02:41AM UTC web-flow github
90.2
26760065162 main optional references paper front matter as markdown push 01 Jun 2026 02:10PM UTC steve-downey github
90.48
See All Builds (34)

Badge your Repo: sandbox-expected

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

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

Refresh
  • Settings
  • Repo on GitHub
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