Thread overview
[Issue 20324] Calling __traits(getUnitTests) on a template causes compiler segfault
Nov 03, 2019
Basile-z
Nov 03, 2019
Basile-z
Nov 03, 2019
Dlang Bot
Mar 21, 2020
Basile-z
Oct 19, 2020
Adam D. Ruppe
Oct 20, 2020
Dlang Bot
Oct 20, 2020
Dlang Bot
Nov 16, 2020
Dlang Bot
November 03, 2019
https://issues.dlang.org/show_bug.cgi?id=20324

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

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

--
November 03, 2019
https://issues.dlang.org/show_bug.cgi?id=20324

--- Comment #1 from Basile-z <b2.temp@gmx.com> ---
looks fixed in 2.089.0, but a reduced case shows it's definitevely not:


---
module still;

template Foo() {
    unittest {}
}

void bar()
{
    __traits(getUnitTests, Foo);
}
---


2.089 emits an error when trying to get the test for bar, while the segfault is for the template.

--
November 03, 2019
https://issues.dlang.org/show_bug.cgi?id=20324

Dlang Bot <dlang-bot@dlang.rocks> changed:

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

--- Comment #2 from Dlang Bot <dlang-bot@dlang.rocks> ---
@clYd3r created dlang/dmd pull request #10533 "fix issue 20324 - Calling __traits(getUnitTests) on a template causes compiler segfault" fixing this issue:

- fix issue 20324 - Calling __traits(getUnitTests) on a template causes
compiler segfault

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

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

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

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

--
October 19, 2020
https://issues.dlang.org/show_bug.cgi?id=20324

Adam D. Ruppe <destructionator@gmail.com> changed:

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

--- Comment #3 from Adam D. Ruppe <destructionator@gmail.com> ---


Possible same thing:




import std.stdio;

mixin template Test() {
    unittest {
        writeln("test 1");
    }
}

mixin Test t;

unittest {
    writeln("test 2");
}


void main() {

pragma(msg, __traits(getUnitTests, Test)); // segfault
}

--
October 20, 2020
https://issues.dlang.org/show_bug.cgi?id=20324

--- Comment #4 from Dlang Bot <dlang-bot@dlang.rocks> ---
@BorisCarvajal created dlang/dmd pull request #11889 "Fix Issue 20324 - Calling __traits(getUnitTests) on a template causes…" fixing this issue:

- Fix Issue 20324 - Calling __traits(getUnitTests) on a template causes
compiler segfault

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

--
October 20, 2020
https://issues.dlang.org/show_bug.cgi?id=20324

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #5 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #11889 "Fix Issue 20324 - Calling __traits(getUnitTests) on a template causes…" was merged into stable:

- b75a3486f4a4fc953c13972f36923b2eccd0d4e9 by Boris Carvajal:
  Fix Issue 20324 - Calling __traits(getUnitTests) on a template causes
compiler segfault

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

--
November 16, 2020
https://issues.dlang.org/show_bug.cgi?id=20324

--- Comment #6 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #11961 "merge stable" was merged into master:

- c765bb67b54ab7f590a4a595a85a9b3cd95ba76c by Boris Carvajal:
  Fix Issue 20324 - Calling __traits(getUnitTests) on a template causes
compiler segfault

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

--