Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#490 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
cpp
Ambito
compilers

Direzione di ricerca

Inizia da subprojects/wg21_p2300_std_execution/include/execution.hpp alle righe 969-986 e riproduci la compilazione Meson con GCC e -Werror=non-template-friend. Esamina le dichiarazioni friend segnalate e verifica che il progetto continui a compilarsi correttamente quando questo warning viene trattato come un errore.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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;
Lingua principale
C++
Stelle
2.4k
Fork
270
Merge medio
2g 16h
PR unite (30g)
43

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di NVIDIA/stdexec

Tutte le issue di NVIDIA/stdexec

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.