Greetings All, I was attempting to fix this bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88395#add_comment
and managed to track it down to expand_concept in constraint.cc. Seems that we are hitting this case in tsubst_expr for the NULL_TREE: if (t == NULL_TREE || t == error_mark_node) return t and we only check result for error_mark_node. Is error_mark_node equal to a NULL_TREE or is it something else? If not than it seems that we should change our check to: if (result == error_mark_node || result == NULL_TREE) and it seems that this is also not checked it the other callers so it should be fixed. Let me known if I am missing something, Nick