mixin template's alias parameter ... ignored ?
ag0aep6g
anonymous at example.com
Tue Jul 13 05:37:49 UTC 2021
On 13.07.21 03:03, someone wrote:
> On Monday, 12 July 2021 at 23:28:29 UTC, ag0aep6g wrote:
[...]
>> I'm not sure where we stand with `in`
>
> You mean *we* = D developers ?
Yes. Let me rephrase and elaborate: I'm not sure what the current status
of `in` is. It used to mean `const scope`. But DIP1000 changes the
effects of `scope` and there was some discussion about its relation to `in`.
Checking the spec, it says that `in` simply means `const` unless you use
`-preview=in`. The preview switch makes it `const scope` again, but
that's not all. There's also something about passing by reference.
https://dlang.org/spec/function.html#in-params
[...]
> For a UDT like mine I think it has a lot of sense because when I think
> of a string and I want to chop/count/whatever on it my mind works
> one-based not zero-based. Say "abc" needs b my mind works a lot easier
> mid("abc", 2, 1) than mid("abc", 1, 1) and besides I am *not* returning
> a range or a reference slice to a range or whatever I am returning a
> whole new string construction. If I would be returning a range I will
> follow common sense since I don't know what will be done thereafter of
> course.
I think you're setting yourself up for off-by-one bugs by going against
the grain like that. Your functions are one-based. The rest of the D
world, including the standard library, is zero-based. You're bound to
forget to account for the difference.
But it's your code, and you can do whatever you want, of course. Just
looked like it might be a mistake.
More information about the Digitalmars-d-learn
mailing list