46 deprecated warnings from redundant constexpr static member redeclarations in Half.h and BFloat16.h
## Summary `Eigen/src/Core/arch/Default/Half.h` and `Eigen/src/Core/arch/Default/BFloat16.h` contain out-of-class definitions for `constexpr` static data members in `numeric_limits_half_impl` and `numeric_limits_bfloat16_impl`. Since C++17, `constexpr` static data members are implicitly `inline`, making these definitions redundant and deprecated. This produces **46 `-Wdeprecated` warnings** when building with GCC or Clang under C++17/C++20. ## Reproduction ```bash cmake .. -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_FLAGS="-Wdeprecated" make cxx11_tensor_scan # or any target that includes Half.h/BFloat16.h ``` ## Fix Wrap the out-of-class definitions with `#if EIGEN_COMP_CXXVER < 17` guards. This preserves C++14 compatibility while eliminating the warnings for C++17+. Related to #3015 (GCC warnings under C++20).
issue