Use concepts for detecting method presence

Open
#225 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Stale
Tech stack
cpp
Domain
compilers

Research direction

Start by reproducing the compilation errors linked in the issue, then locate the method-presence detection logic that checks methods such as push_back. Review how it handles explicit object parameters and rvalue objects; done means the applicable detection uses C++ concepts where feasible and no longer produces those compilation errors.

Written by the indexing model from the issue text.

Description

Ideally I'd ask if you could 'simply' drop precpp20 (or even 23) support 😊 but if that is not feasible can you please use concepts (instead of SFINAE and old meta tricks) wherever possible or at least for detecting the presence of certain methods (like push_back) - with your current approach I got compilation errors w/ explicit object parameter and constructs like T{}.push_back() (as the T{} rvalue cannot bind to an lvalue reference like this T &).

Dominant language
C++
Stars
182
Forks
28
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from boostorg/parser

All issues in boostorg/parser

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.