rttrorg / rttr

C++ Reflection Library
https://www.rttr.org
MIT License
3.12k stars 430 forks source link

Build error -Werror=init-list-lifetime with gcc 11 #317

Open kwizart opened 3 years ago

kwizart commented 3 years ago

When building current git master on fedora 35 with gcc-11, I have the following error: Building without -Werror workaround the issue.

/builddir/build/BUILD/rttr-7edbd580cfad509a3253c733e70144e36f02ecd4/src/rttr/../rttr/detail/variant/variant_data_policy.h: In instantiation of 'static void rttr::detail::variant_data_policy_small<T, Converter>::create(U&&, rttr::detail::variant_data&) [with U = std::initializer_list<int>&; T = std::initializer_list<int>; Converter = rttr::detail::empty_type_converter<std::initializer_list<int> >; rttr::detail::variant_data = std::aligned_storage<8, 4>::type]':
/builddir/build/BUILD/rttr-7edbd580cfad509a3253c733e70144e36f02ecd4/src/rttr/../rttr/detail/variant/variant_impl.h:64:39:   required from 'rttr::variant::variant(T&&) [with T = std::initializer_list<int>&; Tp = std::initializer_list<int>]'
/builddir/build/BUILD/rttr-7edbd580cfad509a3253c733e70144e36f02ecd4/src/unit_tests/variant_sequential_view/variant_sequential_view_test.cpp:238:23:   required from here
/builddir/build/BUILD/rttr-7edbd580cfad509a3253c733e70144e36f02ecd4/src/rttr/../rttr/detail/variant/variant_data_policy.h:414:9: error: 'new' of 'initializer_list' does not extend the lifetime of the underlying array [-Werror=init-list-lifetime]