Inconsistent chain (implicitly converts to int)
Salih Dincer
salihdb at hotmail.com
Fri Apr 5 21:19:48 UTC 2024
On Friday, 5 April 2024 at 16:05:20 UTC, H. S. Teoh wrote:
> On Fri, Apr 05, 2024 at 03:18:09PM +0000, Salih Dincer via
> Digitalmars-d-learn wrote:
>> Hi everyone,
>>
>> Technically r1 and r2 are different types of range. Isn't it
>> inconsistent to chain both? If not, why is the char type
>> converted to int?
> [...]
>
> It's not inconsistent if there exists a common type that both
> range element types implicit convert to.
>
> The real problem is the implicit conversion of char to int,
> which I have been against for a long time. Walter, however,
> disagrees.
>
>
> T
```d
auto a = [97, 98, 99];
auto b = ['d', 'e', 'f'];
a.chain(b).map!(chr => chr.to!char).writeln;
// abcdef
```
Nice, there is a solution that requires memory allocation, but it
still makes you think!
However, they can fix this in Phobos3 because now we have this
too:
https://dlang.org/changelog/2.108.0.html#range_predicate_element
PS. I think I unintentionally made a chain by repeating the
source code above, sorry :)
SDB at 79
More information about the Digitalmars-d-learn
mailing list