Thread overview
[Issue 19270] is expression fails with function types
Sep 27, 2018
Atila Neves
Dec 17, 2022
Iain Buclaw
Apr 28, 2023
RazvanN
Oct 29, 2023
Nick Treleaven
Oct 29, 2023
Basile-z
September 27, 2018
https://issues.dlang.org/show_bug.cgi?id=19270

Atila Neves <atila.neves@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |C++

--- Comment #1 from Atila Neves <atila.neves@gmail.com> ---
Tagged as "C++" since this is preventing me from translating C++ headers.

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=19270

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P3

--
April 28, 2023
https://issues.dlang.org/show_bug.cgi?id=19270

RazvanN <razvan.nitu1305@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |razvan.nitu1305@gmail.com

--- Comment #2 from RazvanN <razvan.nitu1305@gmail.com> ---
I don't know if this is intentional or not, but it seems that this form of is expressions only work for the first of AST nesting.

--
October 29, 2023
https://issues.dlang.org/show_bug.cgi?id=19270

Nick Treleaven <nick@geany.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nick@geany.org

--- Comment #3 from Nick Treleaven <nick@geany.org> ---
I think `is` should support function types directly:

is(typeof(foo) == int(short, double))

That might be easier to pattern match for A0. AFAICT writing a function type is only allowed as the target of an alias declaration.

--
October 29, 2023
https://issues.dlang.org/show_bug.cgi?id=19270

Basile-z <b2.temp@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |b2.temp@gmx.com

--- Comment #4 from Basile-z <b2.temp@gmx.com> ---
> writing a function type is only allowed as the target of an alias declaration.

Yes, the reson of this restriction is that in the past the old AliasDecl syntax, i.e the one with out `=`, supported expressing a function type but not the new one.

Moving the code to parse function types everywhere should be trivial but it is true that it's not much required in usual D code.

--