Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

GCC raises issues with `-Werror=non-template-friend`

オープン
#490 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
cpp
領域
compilers

調査の方向性

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日 16時間
マージ済み PR(30日)
43

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

NVIDIA/stdexec のほかの issue

NVIDIA/stdexec の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。