Feedback request on how best to handle recursion in concept satisfaction

Nathan Sidwell nathan@acm.org
Thu Oct 31 12:03:00 GMT 2019


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



More information about the Gcc mailing list