On Monday, 11 January 2021 at 21:33:36 UTC, Paul Backus wrote:
On Monday, 11 January 2021 at 21:17:20 UTC, jmh530 wrote:
Of course, the typical response would be, "well why not use alias s = static array". I would ask what about an @nogc unittest where the author is trying to limit calls to functions that aren't really central to what is being tested.

I've used std.array.staticArray for @nogc unit tests. It works fine, and the fact that it has a descriptive name makes it a lot more readable than something like `[1, 2, 3]s`.

I know it can be used. My main point was "where the author is trying to limit calls to functions that aren't really central to what is being tested".

Consider

@nogc unittest
{
    assert([1, 2]s.nogcFunction == value);
}

vs

@nogc unittest
{
    import std.array: staticArray;
    assert([1, 2].staticArray.nogcFunction == value);
}

Not really different enough for me to care all that much, but the first one avoids the import and is a bit simpler.

I didn't really feel that strongly about the DIP. My comment was more that if that literal syntax were adopted, I would use it. There's a lot of literals that I rarely make use of and have to look up what it is. If I see 1.05L, I'm like "how could that be a long?" Until I look it up and find out it's a real literal. However, I imagine that people out there do make use of these things (maybe not for reals so much, given the hate a lot of people give them, but other ones).

Reply via email to