clang-concepts-monorepo icon indicating copy to clipboard operation
clang-concepts-monorepo copied to clipboard

ReturnType Constraints Ignored

Open DanielBelow opened this issue 5 years ago • 0 comments

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.

DanielBelow avatar Jan 12 '20 18:01 DanielBelow