Thread overview
[Issue 15320] static assert(__traits(compiles, xyz)) considered harmful
Nov 11, 2015
John Colvin
Nov 12, 2015
John Colvin
[Issue 15320] static assert(__traits(compiles, xyz)) considered harmful in unittests
Nov 13, 2015
Infiltrator
November 11, 2015
https://issues.dlang.org/show_bug.cgi?id=15320

Andrei Alexandrescu <andrei@erdani.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|static                      |static
                   |assert(__traits(compiles,   |assert(__traits(compiles,
                   |xys)) considered harmful    |xyz)) considered harmful

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

--- Comment #1 from John Colvin <john.loughran.colvin@gmail.com> ---
You just mean in unittests, right? It's useful (necessary?) elsewhere.

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

--- Comment #2 from Andrei Alexandrescu <andrei@erdani.com> ---
(In reply to John Colvin from comment #1)
> You just mean in unittests, right? It's useful (necessary?) elsewhere.

Yah, unittests were the only use case I had in mind. What are others?

--
November 12, 2015
https://issues.dlang.org/show_bug.cgi?id=15320

John Colvin <john.loughran.colvin@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |john.loughran.colvin@gmail.
                   |                            |com

--- Comment #3 from John Colvin <john.loughran.colvin@gmail.com> ---
(In reply to Andrei Alexandrescu from comment #2)
> (In reply to John Colvin from comment #1)
> > You just mean in unittests, right? It's useful (necessary?) elsewhere.
> 
> Yah, unittests were the only use case I had in mind. What are others?

template constraints, sanity checks, only way of implementing some template predicates (IIRC it appears quite a bit in std.range and std.traits for this).

--
November 12, 2015
https://issues.dlang.org/show_bug.cgi?id=15320

--- Comment #4 from Andrei Alexandrescu <andrei@erdani.com> ---
(In reply to John Colvin from comment #3)
> (In reply to Andrei Alexandrescu from comment #2)
> > (In reply to John Colvin from comment #1)
> > > You just mean in unittests, right? It's useful (necessary?) elsewhere.
> > 
> > Yah, unittests were the only use case I had in mind. What are others?
> 
> template constraints, sanity checks, only way of implementing some template predicates (IIRC it appears quite a bit in std.range and std.traits for this).

Nice. Yah, those would stay as they are.

--
November 12, 2015
https://issues.dlang.org/show_bug.cgi?id=15320

Andrei Alexandrescu <andrei@erdani.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|nobody@puremagic.com        |dragoscarp@gmail.com

--
November 13, 2015
https://issues.dlang.org/show_bug.cgi?id=15320

Infiltrator <lt.infiltrator@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lt.infiltrator@gmail.com
            Summary|static                      |static
                   |assert(__traits(compiles,   |assert(__traits(compiles,
                   |xyz)) considered harmful    |xyz)) considered harmful in
                   |                            |unittests

--
November 27, 2015
https://issues.dlang.org/show_bug.cgi?id=15320

github-bugzilla@puremagic.com changed:

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

--
November 27, 2015
https://issues.dlang.org/show_bug.cgi?id=15320

--- Comment #5 from github-bugzilla@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/eb293b50638eda5e37c84be2f8e06a7cd22271f6 Fix issue 15320

https://github.com/D-Programming-Language/phobos/commit/7afe668428f19ba877e5d2d2dca0ca2ce1c315b0 Merge pull request #3807 from dcarp/Fix15320

[Issue 15320] eliminate 'static assert(__traits(compiles,..'

--
January 03, 2016
https://issues.dlang.org/show_bug.cgi?id=15320

--- Comment #6 from github-bugzilla@puremagic.com ---
Commits pushed to stable at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/eb293b50638eda5e37c84be2f8e06a7cd22271f6 Fix issue 15320

https://github.com/D-Programming-Language/phobos/commit/7afe668428f19ba877e5d2d2dca0ca2ce1c315b0 Merge pull request #3807 from dcarp/Fix15320

--