clang-concepts-monorepo
clang-concepts-monorepo copied to clipboard
ReturnType Constraints Ignored
template <class T>
concept Foo = false;
Foo auto should_reject_1(Foo auto) { return 'a'; }
template<typename T>
Foo auto should_reject_2() { return 'a'; }
template<Foo F>
F should_reject_3() { return 'a'; }
template<typename T>
requires Foo<T>
T should_reject_4() { return 'a'; }
Foo auto rejects() { return 'a'; }
see https://godbolt.org/z/8SoqcY
Only the last line correctly rejects, all others accept.