https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114349
--- Comment #1 from Sam James <sjames at gcc dot gnu.org> --- ice-on-invalid reduction: ``` struct integral_constant { } template <bool> using __bool_constant integral_constant; template <template typename> , typename, typename > using ExtractOrT integral_constant; template <typename T> using GetPropagateOnContainerSwap T; using propagate_on_container_swap = ExtractOrT<GetPropagateOnContainerSwap, int, __bool_constant<false>>; struct Hash; template < class > constexpr IsNoThrowSwappable(__bool_constant< true >; template < class Alloc > struct raw_hash_set { using allocator_type = Alloc; operator=(raw_hash_set ) noexcept(IsNoThrowSwappable< allocator_type >( propagate_on_container_swap{ } ); } struct flat_hash_map : raw_hash_set< int > { } template < typename, typename, typename > using QuicHashMapImpl flat_hash_map; template < typename Key, typename Value = Key > using QuicHashMap QuicHashMapImpl< Key, Value, Hash >; typedef QuicHashMap< int > ParameterMap; ParameterMap custom_transport_parameters_to_send_; ParameterMap custom_parameters { custom_parameters = custom_transport_parameters_to_send_ ```