Empty tuple conversion fails to compile
- Dominant language
- C++
- Stars
- 479
- Forks
- 110
- Avg merge
- 10d 3h
- Merged PRs (30d)
- 5
Description
Automatic conversion between std::tuple<> and boost::json::value does not work.
The code
```
std::tuple<> t0;
boost::json::value v = boost::json::value_from(t0);
std::tuple<> t1 = boost::json::value_to>(v);
```
fails to compile with the error message
`static assertion failed: 'No suitable tag_invoke overload found for the type'`.
This seems counterintuitive. Obviously an empty C++ tuple should be converted to an empty JSON array and vice-versa.
Tested with Boost 1.92.0 and Visual Studio 2026 on Windows 11.
Contributor guide
Research direction
Start with the minimal std::tuple<> example and trace the value_from and value_to entry points for tuple conversion. Add a regression test covering conversion to an empty JSON array and back to std::tuple<>, then confirm the example compiles and round-trips successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- api
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100