boostorg / boostorg/function_types
"..." ellipsis operator is generating warnings in C++ >= 26: -Wdeprecated-variadic-comma-omission
- Ngôn ngữ chính
- C++
- Star
- 9
- Fork
- 42
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
In C++26, it's now deprecated to use constructions like:
```
void f(int...)
```
we should explicitly add a comma between the previous arguments and the ellipsis:
```
void f(int, ...)
```
In practice, Boost function_types generate quite some warnings in C++26 mode, here is one of them:
```
/data/mwrep/res/osp/Boost/25-0-0-0/include/boost/function_types/detail/pp_variate_loop/preprocessed.hpp:135:23: error: omission of ',' before varargs '...' is deprecated in C++26 [-Werror=deprecated-variadic-comma-omission]
135 | # define BOOST_FT_ell ...
```
Since BOOST_FT_ell is sometimes used as the only argument, it's not as easy as just adding a comma at the beginning of BOOST_FT_ell, as there should be a special case for when there is no argument before.
I don't know much about Boost.wave, so I am not sure how to propose a fix here.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Start with preprocessed.hpp and the BOOST_FT_ell macro, then trace how it is generated and used in cases with and without preceding arguments. Verify the result in C++26 mode and confirm that the deprecated-variadic-comma-omission warning is no longer produced.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- cpp
- Lĩnh vực
- compilers
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100