eclipse-iceoryx / eclipse-iceoryx/iceoryx

is_invocable_r does not support function types

Open
#1,409 0 comments 0 reactions 0 assignees View on GitHub
refactoring test
Dominant language
C++
Stars
2.2k
Forks
492
Avg merge
18h 57m
Merged PRs (30d)
1

Description

## Brief feature description

`is_invocable_r` and `is_invocable` do not work properly with function types (as opposed to function pointers) as in
`cxx::is_invocable_r`.

This is a minor issue since it works with function pointers such as `cxx::is_invocable_r` but is not compatible with STL.

This should be remedied with C++17 as there `std::is_invocable_r ` is available.

The test coverage for different types of callables is too low though and hence we need to add more tests for supported cases: function pointers, method pointers, lambdas (exist), functors (general case).

## Detailed information

Usage with function name types is optional for but more test cases for working types are needed.

Contributor guide

Open the contributing guide

Research direction

Start by locating the implementations of is_invocable_r and is_invocable and the existing callable-type tests. Review coverage for function pointers, method pointers, lambdas, and functors, then verify that function-type usage either works as intended or is explicitly covered by the tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend-api-design
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.