Type constraint

Joel joelcnz at gmail.com
Tue Oct 3 14:35:31 UTC 2023


On Tuesday, 3 October 2023 at 14:06:37 UTC, ryuukk_ wrote:
> On Tuesday, 3 October 2023 at 11:43:46 UTC, Joel wrote:
>> I’ve got a struct that has a method that adds numbers 
>> together. I want to do something like this, static if 
>> (isInteger!T) … but it isn’t working. static if (is(T==int)) 
>> works for one integer type.
>>
>> ```d
>> struct List(T) {
>>      auto addUp()
>>          If (isInteger!T) {
>>              (Add numbers)
>>          }
>>     }
>> }
>> ```
>
>
> ```D
> static if (__traits(isIntegral, T))
> {
> }
> else static assert(0, "type no supported");
>
> ```
>
> https://dlang.org/spec/traits.html#isIntegral

Oh, I found,
```d
static if (isIntegral!T)
```
seems to work.



More information about the Digitalmars-d-learn mailing list