This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Feedback request on how best to handle recursion in concept satisfaction


On 10/29/19 4:46 PM, Jeff Chapman wrote:
Hello,


template<int N, typename T>
concept Foo = requires(T t) { foo<N - 1>(t); };

template<int N = 1024 * 1024, typename T = int>
   requires Foo<N, T>
int foo(T t) { return foo<N - 1>(t); }

Similar cases without concepts are handled with
-ftemplate-depth/max_tinst_depth but satisfaction on trunk does not currently
pass through anything that increments tinst_depth.

Why doesn't the std specify the satisfaction nesting limit in the same way as template instantiation? (at least that's what I infer from your question).

nathan

--
Nathan Sidwell


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]