https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97103
--- Comment #1 from Mateusz Pusz <mateusz.pusz at gmail dot com> --- <source>: In instantiation of 'constexpr const bool valid_template_arguments<template<class R, class Rep> class quantity>': <source>:8:15: required from here <source>:6:32: internal compiler error: in tsubst, at cp/pt.c:15447 6 | requires requires { typename Q<int, int>; }; // two representation types | ~~~~~~~~~^~~~~~~~~~~~ 0x1b755e9 internal_error(char const*, ...) ???:0 0x686d2b fancy_abort(char const*, int, char const*) ???:0 0x896a1b tsubst(tree_node*, tree_node*, int, tree_node*) ???:0 0x709a42 tsubst_requires_expr(tree_node*, tree_node*, int, tree_node*) ???:0 0x709725 tsubst_requires_expr(tree_node*, tree_node*, int, tree_node*) ???:0 0x89ac2f instantiate_decl(tree_node*, bool, bool) ???:0 0x79044e maybe_instantiate_decl(tree_node*) ???:0 0x7935e8 mark_used(tree_node*, int) ???:0 0x90bab7 finish_id_expression(tree_node*, tree_node*, tree_node*, cp_id_kind*, bool, bool, bool*, bool, bool, bool, bool, char const**, unsigned int) ???:0 0x862cec c_parse_file() ???:0 0x9d3702 c_common_parse_file() ???:0 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. Compiler returned: 1