ericniebler / range-v3

Range library for C++14/17/20, basis for C++20's std::ranges
Other
4.05k stars 437 forks source link

warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated] #1795

Open multivac61 opened 9 months ago

multivac61 commented 9 months ago

First of all, thank you for a wonderful library Eric, truly a joy to use 🤗

I am building a project using the newest version of range-v3 that gives me a bunch of warnings related to the deprecated flag.

My compiler is a s follows

➜ software gcc --version
Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: arm64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Example of warnings...

/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:438:72: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr bool numeric_limits<::ranges::detail::diffmax_t>::is_specialized;
                                                                       ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:439:72: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr bool numeric_limits<::ranges::detail::diffmax_t>::is_signed;
                                                                       ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:440:72: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr bool numeric_limits<::ranges::detail::diffmax_t>::is_integer;
                                                                       ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:441:72: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr bool numeric_limits<::ranges::detail::diffmax_t>::is_exact;
                                                                       ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:442:72: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr bool numeric_limits<::ranges::detail::diffmax_t>::has_infinity;
                                                                       ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:443:72: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr bool numeric_limits<::ranges::detail::diffmax_t>::has_quiet_NaN;
                                                                       ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:444:72: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr bool numeric_limits<::ranges::detail::diffmax_t>::has_signaling_NaN;
                                                                       ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:445:72: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr bool numeric_limits<::ranges::detail::diffmax_t>::has_denorm;
                                                                       ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:446:72: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr bool numeric_limits<::ranges::detail::diffmax_t>::has_denorm_loss;
                                                                       ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:448:54: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
        numeric_limits<::ranges::detail::diffmax_t>::round_style;
                                                     ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:449:72: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr bool numeric_limits<::ranges::detail::diffmax_t>::is_iec559;
                                                                       ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:450:72: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr bool numeric_limits<::ranges::detail::diffmax_t>::is_bounded;
                                                                       ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:451:72: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr bool numeric_limits<::ranges::detail::diffmax_t>::is_modulo;
                                                                       ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:452:71: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr int numeric_limits<::ranges::detail::diffmax_t>::digits;
                                                                      ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:453:71: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr int numeric_limits<::ranges::detail::diffmax_t>::digits10;
                                                                      ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:454:71: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr int numeric_limits<::ranges::detail::diffmax_t>::max_digits10;
                                                                      ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:455:71: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr int numeric_limits<::ranges::detail::diffmax_t>::radix;
                                                                      ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:456:71: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr int numeric_limits<::ranges::detail::diffmax_t>::min_exponent;
                                                                      ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:457:71: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr int numeric_limits<::ranges::detail::diffmax_t>::min_exponent10;
                                                                      ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:458:71: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr int numeric_limits<::ranges::detail::diffmax_t>::max_exponent;
                                                                      ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:459:71: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr int numeric_limits<::ranges::detail::diffmax_t>::max_exponent10;
                                                                      ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:460:72: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr bool numeric_limits<::ranges::detail::diffmax_t>::traps;
                                                                       ^
/Users/olafur/dev/software/extern/range-v3/include/range/v3/iterator/diffmax_t.hpp:461:72: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    inline constexpr bool numeric_limits<::ranges::detail::diffmax_t>::tinyness_before;

In file included from /Users/olafur/dev/software/extern/range-v3/include/range/v3/view.hpp:71:
/Users/olafur/dev/software/extern/range-v3/include/range/v3/view/span.hpp:365:48: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
    constexpr detail::span_index_t span<T, N>::extent;