Jump to page: 1 2
Thread overview
[Issue 7804] Cannot alias __traits directly
Jun 25, 2014
sigod
Mar 13, 2018
Simen Kjaeraas
Mar 13, 2018
Simen Kjaeraas
Mar 13, 2018
Manu
Mar 13, 2018
Basile B.
Mar 14, 2018
Basile B.
Mar 14, 2018
Basile B.
Apr 30, 2018
Basile B.
June 25, 2014
https://issues.dlang.org/show_bug.cgi?id=7804

sigod <sigod.mail@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sigod.mail@gmail.com

--
March 13, 2018
https://issues.dlang.org/show_bug.cgi?id=7804

Simen Kjaeraas <simen.kjaras@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |shachar@weka.io

--- Comment #5 from Simen Kjaeraas <simen.kjaras@gmail.com> ---
*** Issue 17571 has been marked as a duplicate of this issue. ***

--
March 13, 2018
https://issues.dlang.org/show_bug.cgi?id=7804

Simen Kjaeraas <simen.kjaras@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |turkeyman@gmail.com

--- Comment #6 from Simen Kjaeraas <simen.kjaras@gmail.com> ---
*** Issue 18601 has been marked as a duplicate of this issue. ***

--
March 13, 2018
https://issues.dlang.org/show_bug.cgi?id=7804

--- Comment #7 from Manu <turkeyman@gmail.com> ---
Plz can has fix?
This is so old!

--
March 13, 2018
https://issues.dlang.org/show_bug.cgi?id=7804

uplink.coder@googlemail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |uplink.coder@googlemail.com

--- Comment #8 from uplink.coder@googlemail.com ---
The issue with this one is that __traits are not considered as types by the parser as they mostly are not.

one approach could be to have an opinion about which __traits can evaluate to types and allow those at parser level.

I may give this a shot but my time is currently limited.

--
March 13, 2018
https://issues.dlang.org/show_bug.cgi?id=7804

Basile B. <b2.temp@gmx.com> changed:

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

--- Comment #9 from Basile B. <b2.temp@gmx.com> ---
I've managed to get it working for types. It has to because the grammar has to
changed so that __trait(getMember,...) becomes a BasicType.
To be clear my hacked DMD for

  struct Foo{struct A{}}
  alias FooA = __traits(getMember, Foo, "A");
  pragma(msg, FooA.stringof);

says: "A". Or even

  struct Foo{alias MyInt = int;}
  alias FooInt = __traits(getMember, Foo, "MyInt");
  static immutable FooInt fi = 42;
  pragma(msg, fi);

says "42"

Next step is for variables and other symbols.
WIP here: https://github.com/BBasile/dmd/pull/1/files

--
March 14, 2018
https://issues.dlang.org/show_bug.cgi?id=7804

Basile B. <b2.temp@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|rejects-valid               |
           Severity|normal                      |enhancement

--- Comment #10 from Basile B. <b2.temp@gmx.com> ---
Considering the grammar changes required this is clearly an enhancement.

--
March 14, 2018
https://issues.dlang.org/show_bug.cgi?id=7804

Basile B. <b2.temp@gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #11 from Basile B. <b2.temp@gmx.com> ---
pull: https://github.com/dlang/dmd/pull/8031

--
April 30, 2018
https://issues.dlang.org/show_bug.cgi?id=7804

Basile B. <b2.temp@gmx.com> changed:

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

--- Comment #12 from Basile B. <b2.temp@gmx.com> ---
I opted out. Maybe something that can be finished during your next week's hackatlon.

--
November 11, 2018
https://issues.dlang.org/show_bug.cgi?id=7804

--- Comment #13 from github-bugzilla@puremagic.com ---
Commits pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/70964b03e2e3e975c76ed26fd293777071ec854e fix issue 7804 - Allow __traits(getMember) as a BasicType

https://github.com/dlang/dmd/commit/0427b5724d0e58cae966fd14d23f30758b626d31 Merge pull request #8938 from BBasile/alias-equal-traits

fix issue 7804 - Allow __traits(getMember) as a BasicType

--
« First   ‹ Prev
1 2