https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107522
Bug ID: 107522 Summary: ICE in parameter_mapping_equivalent_p on trunk Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: gwangi.kali at gmail dot com Target Milestone: --- Live Example: https://godbolt.org/z/sqTaMnYva Command Line Args: -std=c++20 Version: Trunk ```cpp enum class Enum { A, B }; template<Enum E> class Class { public: template<enum Enum E2 = E> Class() requires (E2 == Enum::A); }; template<> template<enum Enum E2> Class<Enum::A>::Class() requires (E2 == Enum::A) {} int main() { Class<Enum::A>{}; return 0; } ``` ```bash Could not execute the program Compiler returned: 1 Compiler stderr <source>: In instantiation of 'Class<E>::Class() requires E2 == Enum::A [with Enum E2 = Enum::A; Enum E = Enum::A]': <source>:18:20: required from here <source>:18:20: internal compiler error: in parameter_mapping_equivalent_p, at cp/constraint.cc:615 18 | Class<Enum::A>{}; | ^ 0x236fd8e internal_error(char const*, ...) ???:0 0xaa5338 fancy_abort(char const*, int, char const*) ???:0 0xb21e30 sat_hasher::equal(sat_entry*, sat_entry*) ???:0 0xb22b7c hash_table<sat_hasher, false, xcallocator>::find_slot_with_hash(sat_entry* const&, unsigned int, insert_option) ???:0 0xb1c8b3 satisfaction_cache::satisfaction_cache(tree_node*, tree_node*, sat_info) ???:0 0xb21202 constraints_satisfied_p(tree_node*, tree_node*) ???:0 0xad1f2a build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, tree_node**, int) ???:0 0xad23d7 build_special_member_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, int) ???:0 0xad9d70 perform_direct_initialization_if_possible(tree_node*, tree_node*, bool, int) ???:0 0xd4c672 cp_build_c_cast(unsigned int, tree_node*, tree_node*, int) ???:0 0xd554b6 build_functional_cast(unsigned int, tree_node*, tree_node*, int) ???:0 0xcf72ef finish_compound_literal(tree_node*, tree_node*, int, fcl_t) ???:0 0xc80597 c_parse_file() ???:0 0xdbdde9 c_common_parse_file() ???:0 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. ```