On Tuesday, 28 July 2020 at 13:00:12 UTC, Steven Schveighoffer wrote:
On 7/28/20 5:46 AM, MoonlightSentinel wrote:
On Tuesday, 28 July 2020 at 09:28:27 UTC, wjoe wrote:
It was run on the doc page. I suppose the examples are wrapped in a unittest block?

Indeed, see https://github.com/dlang/phobos/blob/cd2ba0d2c378a893ec0eaefc57b87d0770a1990c/std/bitmanip.d#L293-L314


It doesn't necessarily need to be in a unittest block (AFAIK, the example executer isn't actually running the unittests of phobos), but it does need to be inside a function, because you have executable code there. Either way, yes, it's run inside a function, so you need to apply static to the struct to avoid the frame pointer. I tested that, and it prints 1 instead of 16.

-Steve

My reasoning was that a unittest is essentially a function and it's incredibly convenient for such things but I hadn't really checked prior to MoonlightSentinel's reply.

Thanks again :)

Reply via email to