Thread overview
[Issue 8109] typeof(function) within functions
Jun 10, 2019
Nicholas Wilson
Jun 10, 2019
Manu
Jun 10, 2019
Basile-z
Mar 21, 2020
Basile-z
Mar 21, 2020
Manu
Aug 09, 2020
Dlang Bot
Dec 17, 2022
Iain Buclaw
February 18, 2016
https://issues.dlang.org/show_bug.cgi?id=8109

hsteoh@quickfur.ath.cx changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hsteoh@quickfur.ath.cx

--
June 10, 2019
https://issues.dlang.org/show_bug.cgi?id=8109

Nicholas Wilson <iamthewilsonator@hotmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |iamthewilsonator@hotmail.co
                   |                            |m

--- Comment #1 from Nicholas Wilson <iamthewilsonator@hotmail.com> ---
So, typeof(this) and typeof(super) are just regular expression typeofs,
typeof(return) is special because it needs deferred analysis when the return
type is auto.

This would effectively be just as special, if not more so. Do you still need this?

--
June 10, 2019
https://issues.dlang.org/show_bug.cgi?id=8109

--- Comment #2 from Manu <turkeyman@gmail.com> ---
I have needed this many times, and I think it's an obvious hole, especially in contrast to the presence of all the others.

--
June 10, 2019
https://issues.dlang.org/show_bug.cgi?id=8109

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

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

--- Comment #3 from Basile-z <b2.temp@gmx.com> ---
What's needed is not a special typeof(function), but more a new symbol that represents the function we're in and that would work with typeof(). In addition it would be nice to have a special symbol that would represent the tuple of parameters.

using metaprog and __FUNCTION__ is known to work only when the current func has no overload.

--
March 21, 2020
https://issues.dlang.org/show_bug.cgi?id=8109

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

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

--
March 21, 2020
https://issues.dlang.org/show_bug.cgi?id=8109

--- Comment #4 from Manu <turkeyman@gmail.com> ---
Yeah good point.
__FUNCTION__ really should have been that symbol you describe, then you could
use __FUNCTION__.stringof or mangleof, or typeof(), etc...

Maybe introduce __function__ which is the symbol?

--
August 09, 2020
https://issues.dlang.org/show_bug.cgi?id=8109

--- Comment #5 from Dlang Bot <dlang-bot@dlang.rocks> ---
@NilsLankila created dlang/dmd pull request #11538 "add `__traits(getCurrentFunction)`" mentioning this issue:

- add `__traits(getCurrentFunction)`

  - fix issue 8109
  - fix issue 9306

  This new traits is a shortcut allowing to call the function we
  are in without using `mixin` and `__FUNCTION__` tricks.

https://github.com/dlang/dmd/pull/11538

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

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P2                          |P4

--