map on char[] converts to dchar?
Seb via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Jul 24 02:12:01 PDT 2017
On Monday, 24 July 2017 at 09:05:43 UTC, Johan wrote:
> Hi all,
> What am I doing wrong here?
> ```
> import std.algorithm;
> int foo(char c) {
> return 123;
> }
> auto mapFoo(char[] chars) {
> return chars.map!(a => a.foo);
> }
> ```
> errors with:
> main.d(14): Error: function main.foo (char c) is not callable
> using argument types (dchar)
> /Library/D/dmd/src/phobos/std/algorithm/iteration.d(492):
> instantiated from here: MapResult!(__lambda2, char[])
> main.d(14): instantiated from here: map!(char[])
>
> (Things work after changing foo to accept dchar, but I don't
> want that.)
>
> Thanks,
> Johan
Have a look at https://tour.dlang.org/tour/en/gems/unicode
tl;dr: it's auto-decoding and you can avoid it with e.g. byChar
More information about the Digitalmars-d-learn
mailing list