https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94550

Daniel Krügler <daniel.kruegler at googlemail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |daniel.kruegler@googlemail.
                   |                            |com

--- Comment #2 from Daniel Krügler <daniel.kruegler at googlemail dot com> ---
(In reply to Andrew Pinski from comment #1)
> Do you have a full example?  Where the problem occurs since your example
> does not compile at all.

A full working example would be (reduced by eliminating a huge number of
additional pointer indirections and simplifying the function declaration):

<<<<<<<<<<<<<<<<<<<<<<
struct failed {}; 

template<typename Pred>
failed* (Pred::* * assert_arg(void (*)(Pred), typename Pred::type));

struct predicate { using type = int; };

using type = decltype(assert_arg<predicate>(nullptr, 0));
<<<<<<<<<<<<<<<<<<<<<<

But honestly, to me these parentheses look *indeed* redundant to me, so I don't
really understand the issue here.

Reply via email to