On 9/3/24 6:12 PM, Marek Polacek wrote:
Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk/14?
The change to return bool seems like unrelated cleanup; please push that separately on trunk only.
+ /* We can also have: + + template <template <typename T, typename T::type TT> typename X> + void func() {} + template <typename U, int I> + struct Y {}; + void g() { func<Y>(); } + + where we are not in a template, but the type of PARM is T::type + and dependent_type_p doesn't want to see a TEMPLATE_TYPE_PARM + outside a template. */ + ++processing_template_decl; tree t = tsubst (TREE_TYPE (parm), outer_args, complain, in_decl); + --processing_template_decl; if (!uses_template_parms (t) && !same_type_p (t, TREE_TYPE (arg)))
This looks like the pattern Patrick just removed from type_unification_real for PR101463. Do we want to make the same change here?
Jason