On Monday, 26 November 2018 at 09:28:37 UTC, Basile B. wrote:
On Monday, 26 November 2018 at 09:04:25 UTC, Per Nordlöw wrote:
Why is there no

- __traits(isArray, T)

alongside

- __traits(isStaticArray, T) and
- __traits(isAssociativeArray, T)

when dmd already has `ENUMTY.Tarray` alongside

- ENUMTY.Tsarray and
- ENUMTY.Taarray

and std.traits already has a wrapper for this at

https://dlang.org/phobos/std_traits.html#isDynamicArray

?

Should we add this new builtin trait and use it in std.traits.isDynamicArray?

If so, should we call it

- __traits(isDynamicArray) or
- __traits(isArray) or
- __traits(isArraySlice) or
- __traits(isSlice) or

something else?

Yeah maybe just try, although i see some alias this implication in the current std.traits implementation. Adding a new trait is rarely a big deal as far as i could see in the past (i.e no big never endings discussions).

This would be a nice addition, imho.

As Basile B is saying, there is quite a bit of work done for the `isDynamicArray` implementation. If you have the time to drill down from https://github.com/dlang/phobos/blob/master/std/traits.d#L6618

I was expecting the `isArray` check to be something like `enum isArray(T) = is(T == U[], U)`

I would like to see this in the compiler traits :D

Reply via email to