Skip to content

Update the type comparison for C++23 expected - #88

Merged
martinmoene merged 1 commit into
nonstd-lite:masterfrom
ac1982:docs/cpp23-comparison
Oct 15, 2026
Merged

martinmoene merged 1 commit into
nonstd-lite:masterfrom
ac1982:docs/cpp23-comparison

Conversation

@ac1982

@ac1982 ac1982 commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Fixes #85.

Update the comparison for C++23 std::expected, replacing the experimental-namespace note with the standard <expected> API and a link to the C++23 draft. Clarify that the bundled nonstd::expected column applies when the fallback is explicitly selected.

The comparison now distinguishes equality from ordering, shows the default-construction constraint, and updates the adjacent standard-library reference, piecewise-construction and monadic-operation entries. The new C++23 row does not assume compatibility for the older third-party implementations.

Validation: compiled and ran a C++23 probe with GCC 15.2 for both the standard selection and forced bundled implementation; checked construction constraints, equality/no ordering, pair references and piecewise construction, expected's four monadic operations, and optional chaining. Confirmed C++23 reference-valued optional/expected instantiations are rejected. Markdown rendering retains nine columns per row; git diff --check passes. No library code changed, so the full compiler test matrix was not run.

Prepared with Codex assistance; statements checked against the C++23 draft and current header.

@martinmoene
martinmoene merged commit 622f7c2 into nonstd-lite:master Oct 15, 2026
@martinmoene

Copy link
Copy Markdown
Collaborator

Thanks @ac1982

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.

Update Readme table 'Comparison with like types' for C++23, which introduces std::expected.

2 participants