On 9/4/21 7:43 AM, Johan wrote:
On Saturday, 4 September 2021 at 03:18:01 UTC, Paul Backus wrote:
On Saturday, 4 September 2021 at 00:09:37 UTC, H. S. Teoh wrote:
This is related to the bogonity of the current behaviour of
-unittest, which compiles *all* unittests of *all* imported modules,
even when you're compiling user code that has no interest in Phobos
unittests.
Well, no; it compiles all unittests of all *compiled* modules, not all
*imported* modules. So it does not actually include Phobos unittests.
[...]
As Steven Schveighoffer [pointed out][1], Phobos unittests are never
included in user code, regardless of whether `StdUnittest` is used.
The "never" is false, https://d.godbolt.org/z/c4oeYM7rG
Unittests inside template code will be added to user code, unless the
compiler has determined that the template is already instantiated in
Phobos code (the "template culling" that the frontend does, whose
behavior is not easily influenced by the programmer).
It's always included (or at least it was when I last looked at it), as
-unittest implies some form of -allinst. There was some effort to fix
this, but I can't remember if the outcome was that it was merged or not.
-Steve