Skip to content

Compilation errors with -Werror -Wold-style-cast #78

@b1ackviking

Description

@b1ackviking

When compiling an empty program like this

#include <meta/meta.hpp>
int main() {}

The following compilation errors come from the header file:

FAILED: CMakeFiles/cpp-project-template.dir/main.cpp.o
/usr/bin/c++  -I/mnt/c/Users/Вова/projects/cpp-project-template/meta/include -O2 -g -DNDEBUG -fdiagnostics-color=always -Wall -Wextra -Wpedantic -Wshadow -Wnon-virtual-dtor -Wold-style-cast -Wcast-align -Wunused -Woverloaded-virtual -Wconversion -Wsign-conversion -Wnull-dereference -Wdouble-promotion -Wformat=2 -Werror -Wmisleading-indentation -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wuseless-cast -std=gnu++2a -MD -MT CMakeFiles/cpp-project-template.dir/main.cpp.o -MF CMakeFiles/cpp-project-template.dir/main.cpp.o.d -o CMakeFiles/cpp-project-template.dir/main.cpp.o -c '/mnt/c/Users/Вова/projects/cpp-project-template/main.cpp'
In file included from /mnt/c/Users/Вова/projects/cpp-project-template/main.cpp:1:
/mnt/c/Users/Вова/projects/cpp-project-template/meta/include/meta/meta.hpp:2657:53: error: use of old-style cast to ‘std::size_t’ {aka ‘long unsigned int’} [-Werror=old-style-cast]
 2657 |             using type = meta::size_t<((std::size_t)_v<std::is_same<T, Ts>> + ...)>;
      |                                                     ^~~~~~~~~~~~~~~~~~~~~~~
/mnt/c/Users/Вова/projects/cpp-project-template/meta/include/meta/meta.hpp:2733:80: error: use of old-style cast to ‘bool’ [-Werror=old-style-cast]
 2733 |             using type = meta::size_t<((std::size_t)(bool)invoke<Fn, L>::type::value + ...)>;
      |                                                                                ^~~~~
/mnt/c/Users/Вова/projects/cpp-project-template/meta/include/meta/meta.hpp:2733:80: error: use of old-style cast to ‘std::size_t’ {aka ‘long unsigned int’} [-Werror=old-style-cast]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions