make_ready_future<void> bug
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
Research direction
Start at future.hpp around line 4388 and reproduce the issue with Boost 1.76.0 using make_ready_future. Inspect overload resolution for promise and the variadic overload; done means the void-specific function is selected without attempting to call the unavailable emplace method.
Written by the indexing model from the issue text.
Description
Used boost version 1.76.0
next code from future.hpp, line 4388
promise<void> have no emplace method
// variadic overload
#if ! defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
template <class T, class ...Args>
BOOST_THREAD_FUTURE<T> make_ready_future(Args&&... args)
{
promise<T> p;
p.emplace(forward<Args>(args)...);
return p.get_future();
}
#endif
header contains correct function for promise<void>, but compiler always select variadic-templated method instead of normal
- Dominant language
- C++
- Stars
- 213
- Forks
- 171
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from boostorg/thread
-
Difficulty 1/5 Under an hour Newbie friendliness 65/100
-
Difficulty 3/5 1-2 days Newbie friendliness 64/100
-
Difficulty 3/5 1-2 days Newbie friendliness 42/100
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 58/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
google/libultrahdr#485 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
godotengine/godot#123776 ·
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 60/100
-
good first issue
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
ros2/common_interfaces#344 ·