[Bug c++/85706] New: [8 regression][concepts] Bogus "deduced class type in function return type"
Casey at Carter dot net
gcc-bugzilla@gcc.gnu.org
Tue May 8 19:54:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85706
Bug ID: 85706
Summary: [8 regression][concepts] Bogus "deduced class type in
function return type"
Product: gcc
Version: 8.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: Casey at Carter dot net
Target Milestone: ---
Compiling this program:
template<class T> struct S {
S(T);
};
template<class = void>
auto f() -> decltype(S(42)); // error
with "-std=c++17 -fconcepts" produces diagnostics:
/home/casey/casey/Desktop/repro.cpp:6:6: error: deduced class type ‘S’ in
function return type
auto f() -> decltype(S(42)); // Line 6
^
/home/casey/casey/Desktop/repro.cpp:1:26: note: ‘template<class T> struct S’
declared here
template<class T> struct S {
^
the program compiles without diagnostic if f is a non-template:
template<class T> struct S {
S(T);
};
auto f() -> decltype(S(42));
More information about the Gcc-bugs
mailing list