| |
| Posted by Selim Ozel in reply to Rumbu | PermalinkReply |
|
Selim Ozel
| On Friday, 30 July 2021 at 05:20:37 UTC, Rumbu wrote:
> On Wednesday, 28 July 2021 at 17:41:04 UTC, Selim Ozel wrote:
> import std.conv:to;
import std.conv:to;
@nogc int
myFunction(ulong number){
return to!int(number);
}
Since std.conv.to is a non@nogc myFunction throws a compiler error. From a practical perspective length property of arrays return ulong. What do you think is a reasonable way of casting that into int with no-gc.
Thanks,
Selim
Length property of arrays is architecture dependent returning ulong for 64 bit and uint for 32 bit. You can use size_t as data type to cover both cases.
Therefore your function can be portable without any conversion:
@nogc size_t
myFunction(size_t number) {
return number;
}
Thank you. I'll try this one as well. The conversion suggested above worked fine for my purposes but it does look a bit ugly :) I was not aware of the option to use soze_t.
S
|