https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65575
--- Comment #2 from Tom Honermann <tom at honermann dot net> --- r221695 does correct the specific test case in comment 0. However, I'm still seeing similar errors for function declarations that don't specify the return type with a trailing return type: $ svn info # From my local svn gcc repo. Path: . URL: svn://gcc.gnu.org/svn/gcc/branches/c++-concepts Repository Root: svn://gcc.gnu.org/svn/gcc Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4 Revision: 221697 Node Kind: directory Schedule: normal Last Changed Author: asutton Last Changed Rev: 221695 Last Changed Date: 2015-03-26 09:35:54 -0400 (Thu, 26 Mar 2015) $ cat t2.cpp template<typename T> concept bool C = true; int& f() requires C<int>; $ g++ -c -std=c++1z t2.cpp t2.cpp:3:10: error: expected initializer before ‘requires’ int& f() requires C<int>; ^