Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#490 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
cpp
Área
compilers

Línea de trabajo

Comienza con subprojects/wg21_p2300_std_execution/include/execution.hpp en las líneas 969-986 y reproduce la compilación de Meson con GCC y -Werror=non-template-friend. Inspecciona las declaraciones friend notificadas y verifica que el proyecto siga compilándose correctamente cuando esta advertencia se trate como un error.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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;
Lenguaje dominante
C++
Estrellas
2.4k
Forks
270
Merge medio
2 d 16 h
PR fusionados (30 d)
43

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de NVIDIA/stdexec

Todos los issues de NVIDIA/stdexec

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.