https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92593
Bug ID: 92593 Summary: ICE with CTAD using undeclared constraint Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org Blocks: 67491 Target Milestone: --- template<integral T> // oops, should be std::integral struct ref_view { ref_view(T) { } }; ref_view r{1}; This crashes when compiled with -std=gnu++2a: ice.cc:1:10: error: 'integral' has not been declared 1 | template<integral T> // oops, should be std::integral | ^~~~~~~~ ice.cc:4:11: warning: unnecessary parentheses in declaration of 'T' [-Wparentheses] 4 | ref_view(T) { } | ^ ice.cc:4:17: error: expected ';' at end of member declaration 4 | ref_view(T) { } | ^ | ; g++: internal compiler error: Segmentation fault signal terminated program cc1plus Please submit a full bug report, with preprocessed source if appropriate. See <https://gcc.gnu.org/bugs/> for instructions. Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67491 [Bug 67491] [meta-bug] concepts issues