¿Cómo habilito una advertencia para expresiones lambda no utilizadas en gcc?
El siguiente código tiene un error tipográfico, donde olvidé invocar la expresión lambda con ()
:
#include <iostream>
int main()
{
[]{ std::cout << "hello"; };
}
Afortunadamente, clang emite una -Wunused-value
advertencia para la expresión lambda, ya que nunca se evalúa/utiliza.
Sin embargo, gcc no emite ninguna advertencia. ¿Hay alguna manera de advertir sobre este código con errores al compilar con gcc?
Hay una publicación relacionada sobre capturas lambda no utilizadas aquí que es similar, pero esta pregunta es para expresiones lambda no utilizadas .
Respuestas
GCC tiene una opción de advertencia -Wunused
que habilita todas las advertencias sobre piezas de código no utilizadas. El último GCC (troncal) no advierte sobre la lambda no utilizada con opciones -Wunused -Wall -Wextra
. Por lo tanto, mi conclusión es que no hay forma de habilitar una advertencia que advierta sobre el programa mostrado en GCC en este momento.