Restore the documented limitations, in a document of their own
- 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
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