GCC raises issues with `-Werror=non-template-friend`
还没有人认领这个 Issue。
评估
调研方向
从 subprojects/wg21_p2300_std_execution/include/execution.hpp 的第 969-986 行开始,并使用 GCC 和 -Werror=non-template-friend 重现 Meson 构建。检查报告中的 friend 声明,并验证将此警告视为错误时项目仍能成功构建。
由索引模型根据 Issue 内容生成。
描述
By default, repositories compiled using the meson build enable -Werror=non-template-friend and this causes the following errors:
../subprojects/wg21_p2300_std_execution/include/execution.hpp:969:66: error: friend declaration ‘void std::execution::__connect::tag_invoke(_Tag, std::execution::__connect::__completion<_Tag(_Args ...)>&&, _Args&& ...)’ declares a non-template function [-Werror=non-template-friend]
969 | friend void tag_invoke(_Tag, __completion&&, _Args&&...) noexcept;
| ^~~~~~~~
../subprojects/wg21_p2300_std_execution/include/execution.hpp:969:66: note: (if this is not what you intended, make sure the function template has already been declared and add ‘<>’ after the function name here)
../subprojects/wg21_p2300_std_execution/include/execution.hpp:978:76: error: friend declaration ‘std::execution::__connect::__debug_env_t<_Env> std::execution::__connect::tag_invoke(std::execution::__env::get_env_t, std::execution::__connect::__debug_receiver<_Env, std::execution::completion_signatures<_Sigs ...> >)’ declares a non-template function [-Werror=non-template-friend]
978 | friend __debug_env_t<_Env> tag_invoke(get_env_t, __debug_receiver) noexcept;
| ^~~~~~~~
../subprojects/wg21_p2300_std_execution/include/execution.hpp:985:71: error: friend declaration ‘void std::execution::__connect::tag_invoke(std::execution::__receivers::set_stopped_t, std::execution::__connect::__any_debug_receiver<_Env>&&)’ declares a non-template function [-Werror=non-template-friend]
985 | friend void tag_invoke(set_stopped_t, __any_debug_receiver&&) noexcept;
| ^~~~~~~~
../subprojects/wg21_p2300_std_execution/include/execution.hpp:986:80: error: friend declaration ‘std::execution::__connect::__debug_env_t<_Env> std::execution::__connect::tag_invoke(std::execution::__env::get_env_t, std::execution::__connect::__any_debug_receiver<_Env>)’ declares a non-template function [-Werror=non-template-friend]
986 | friend __debug_env_t<_Env> tag_invoke(get_env_t, __any_debug_receiver) noexcept;
- 主要语言
- C++
- 星标
- 2.4k
- 派生
- 270
- 平均合并
- 2 天 10 小时
- 30 天内合并 PR
- 42
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
NVIDIA/stdexec 的其他 Issue
-
inline_scheduler's namespace-scope static_assert fails under nvcc (private nested __sender access) 未关闭
难度 2/5 1-3 小时 新手友好度 65/100
-
难度 2/5 1-3 小时 新手友好度 68/100
-
难度 4/5 3-5 天 新手友好度 45/100
-
难度 4/5 3-5 天 新手友好度 48/100
-
难度 4/5 3-5 天 新手友好度 65/100
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
drogonframework/drogon#2605 ·
-
难度 2/5 1-3 小时 新手友好度 86/100
ArthurSonzogni/FTXUI#1363 ·
-
难度 1/5 1 小时以内 新手友好度 94/100
MiSTer-devel/Main_MiSTer#1325 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 76/100
-
难度 2/5 1-3 小时 新手友好度 88/100