> No, p3 doesn't allow the second `auto`. I'm not sure how you can read it that way.
> Each of p2-p7 defines a context in which placeholders are legal;
> it doesn't define the legality of the entire construct in which the placeholder appears.
> The context that is made legal by p3 is the one occupied by the first `auto`, namely the decl-specifier-seq,
> so it says nothing about the legality of the second `auto`.
> It only means that, if there's no trailing return type present at all,
> then p3 doesn't give any permission for a placeholder to appear in the decl-specifier-seq.
I see your point, ok. I was likely biased by the old text of C++20 (reported in the original post 2710)
but it is useless to discuss it now, as it cannot change.
Thank you.
> As to your second point, I'm not sure which p1 you're referring to.
> The text you quote, "or as one of the type-specifiers in a trailing-return-type",
About second point, my bad, I meant p2, sorry for having written p1.