https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92650
--- Comment #1 from Luke Dalessandro <ldalessandro at gmail dot com> --- <Compilation failed> x86-64 gcc (trunk) - cached #1 with x86-64 gcc (trunk) In file included from /opt/compiler-explorer/libs/rangesv3/trunk/include/range/v3/action/action.hpp:19, from /opt/compiler-explorer/libs/rangesv3/trunk/include/range/v3/action.hpp:17, from /opt/compiler-explorer/libs/rangesv3/trunk/include/range/v3/all.hpp:17, from <source>:1: /opt/compiler-explorer/libs/rangesv3/trunk/include/meta/meta.hpp: In substitution of 'template<bool If, class ... Args> using if_c = meta::_t<meta::detail::_if_<meta::list<std::integral_constant<bool, __v>, Args ...> > > [with bool If = std::integral_constant<bool, and_v<__is_constructible(Ts)...> >::value; Args = {}]': /opt/compiler-explorer/libs/rangesv3/trunk/include/range/v3/utility/common_tuple.hpp:65:13: required from 'struct ranges::detail::args_<1, const int&>' /opt/compiler-explorer/libs/rangesv3/trunk/include/concepts/concepts.hpp:1107:13: required from 'constexpr const bool concepts::defs::constructible_from<ranges::detail::args_<1, int&>, ranges::detail::args_<1, const int&> >' /opt/compiler-explorer/libs/rangesv3/trunk/include/range/v3/utility/common_tuple.hpp:136:9: required by substitution of 'template<class ... Us> ranges::common_tuple<int&>::common_tuple(const std::tuple<_Tps ...>&, std::enable_if_t<(constructible_from<ranges::detail::args_<1, int&>, ranges::detail::args_<sizeof... (const Ts), const Ts& ...> > && concepts::detail::CPP_true(concepts::detail::Nil{})), concepts::detail::Nil>) [with Us = {int}]' /opt/compiler-explorer/libs/rangesv3/trunk/include/concepts/type_traits.hpp:92:41: required by substitution of 'template<class T, class U> struct concepts::detail::_builtin_common_2<T, U, meta::void_<decltype ((true ? declval<T>() : declval<U>()))> > [with T = ranges::common_tuple<int&>; U = std::tuple<int>&]' /opt/compiler-explorer/libs/rangesv3/trunk/include/concepts/type_traits.hpp:365:12: recursively required by substitution of 'template<class T, class U> struct concepts::detail::_common_reference2<T, U, typename concepts::detail::if_<std::is_reference<typename concepts::detail::_builtin_common<T, U>::type>::value>::invoke<void> > [with T = ranges::common_tuple<int&>; U = std::tuple<int>&]' /opt/compiler-explorer/libs/rangesv3/trunk/include/concepts/type_traits.hpp:365:12: required from 'struct concepts::common_reference<ranges::common_tuple<int&>, std::tuple<int>&>' /opt/compiler-explorer/libs/rangesv3/trunk/include/concepts/type_traits.hpp:370:11: required by substitution of 'template<class ... Ts> using common_reference_t = typename concepts::common_reference::type [with Ts = {ranges::common_tuple<int&>, std::tuple<int>&}]' /opt/compiler-explorer/libs/rangesv3/trunk/include/range/v3/utility/common_type.hpp:58:11: required by substitution of 'template<class ... Ts> using common_reference_t = concepts::common_reference_t<Ts ...> [with Ts = {ranges::detail::if_then<false>::apply<ranges::detail::basic_proxy_reference_<const ranges::iter_zip_with_view<ranges::detail::indirect_zip_fn_, ranges::ref_view<std::vector<int, std::allocator<int> > > >::cursor<false>, true>, ranges::common_tuple<int&> >, meta::id<std::tuple<int> >::type&}]' /opt/compiler-explorer/libs/rangesv3/trunk/include/range/v3/iterator/basic_iterator.hpp:453:19: required from 'struct ranges::detail::iterator_associated_types_base_<ranges::iter_zip_with_view<ranges::detail::indirect_zip_fn_, ranges::ref_view<std::vector<int, std::allocator<int> > > >::cursor<false>, true>' /opt/compiler-explorer/libs/rangesv3/trunk/include/range/v3/iterator/basic_iterator.hpp:492:31: required from 'struct ranges::basic_iterator<ranges::iter_zip_with_view<ranges::detail::indirect_zip_fn_, ranges::ref_view<std::vector<int, std::allocator<int> > > >::cursor<false> >' <source>:17:16: required from here /opt/compiler-explorer/libs/rangesv3/trunk/include/meta/meta.hpp:1222:11: internal compiler error: canonical types differ for identical types 'std::integral_constant<bool, and_v<__is_constructible(Ts)...> >' and 'std::integral_constant<bool, and_v<__is_constructible(Ts)...> >' 1222 | using if_c = _t<detail::_if_<list<bool_<If>, Args...>>>; | ^~~~ Please submit a full bug report, with preprocessed source if appropriate. See <https://gcc.gnu.org/bugs/> for instructions.