jbcoe / jbcoe/cc-protocol

Restore the documented limitations, in a document of their own

Open Beginner friendly
#407 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
11
Forks
4
Avg merge
16h 39m
Merged PRs (30d)
131

Description

#388 removed the Limitations bullet from CONTRIBUTING.md to drop one stale sentence about operators. The bullet also carried four statements that are still true and are now documented nowhere:

- member function templates are not matched as conformance candidates (#393);
- conformance accounts for an interface member's ref-qualifier, but the generated call wrapper does not apply it (#356);
- there is no conversion between a `protocol`/`protocol_view` of one interface and another;
- conformance checking is O(N*M) in the number of interface and candidate member functions.

They never really belonged in a contributing guide. Suggest a `doc/limitations.md` (or a Limitations section in README.md) that CONTRIBUTING.md links to, which can also list what a protocol interface rejects with a diagnostic after #388: `operator=`, `operator co_await`, the comparison operators, unary `operator&`, explicit-object and ref-qualified members; and what it silently ignores: static members including allocation operators, and conversion functions.

The Supported Features bullet in CONTRIBUTING.md still names only `operator()` and needs the same update.

Contributor guide

Open the contributing guide

Research direction

Start with CONTRIBUTING.md and review the limitations removed in #388, then compare the related issues #393 and #356. Add a linked doc/limitations.md or an equivalent README.md section covering the listed limitations, rejected members, silently ignored members, and updated Supported Features wording. Done when CONTRIBUTING.md links to the limitations information and no listed behavior is undocumented.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.