You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(In reply to hsteoh from comment #1)
> Is this a real bug?
No, it's an enhancement request...
> Couldn't you just do `s.map!(a => a.to!real).array` to do what you want?
Yes, but I think converting lazy ranges is a basic and common need, so it should be supported by "to".
bearophile_hugs reported this on 2013-06-18T10:47:23Z
Transfered from https://issues.dlang.org/show_bug.cgi?id=10407
CC List
Description
import std.regex: splitter, regex; import std.conv: to; import std.array: array; void main() { auto s = splitter("10 30 20", r"[\s,]+".regex); auto r1 = s.array.to!(real[]); // OK auto r2 = s.to!(real[]); // Error } DMD 2.063.2 gives: ...\dmd2\src\phobos\std\conv.d(276): Error: template std.conv.toImpl does not match any function template declaration. Candidates are: ...\dmd2\src\phobos\std\conv.d(332): std.conv.toImpl(T, S)(S value) if (isImplicitlyConvertible!(S, T) && !isEnumStrToStr!(S, T) && !isNullToStr!(S, T)) ...\dmd2\src\phobos\std\conv.d(445): std.conv.toImpl(T, S)(ref S s) if (isRawStaticArray!S) ...\dmd2\src\phobos\std\conv.d(461): std.conv.toImpl(T, S)(S value) if (is(typeof(S.init.opCast!T()) : T) && !isExactSomeString!T) ...\dmd2\src\phobos\std\conv.d(492): std.conv.toImpl(T, S)(S value) if (!isImplicitlyConvertible!(S, T) && is(T == struct) && is(typeof(T(value)))) ...\dmd2\src\phobos\std\conv.d(542): std.conv.toImpl(T, S)(S value) if (!isImplicitlyConvertible!(S, T) && is(T == class) && is(typeof(new T(value)))) ...\dmd2\src\phobos\std\conv.d(276): ... (16 more, -v to show) ... ...\dmd2\src\phobos\std\conv.d(332): Error: template std.conv.toImpl cannot deduce template function from argument types !(real[])(Splitter!(string, Regex!char)) ...\dmd2\src\phobos\std\conv.d(276): Error: template instance toImpl!(real[]) errors instantiating template test.d(7): Error: template instance std.conv.to!(real[]).to!(Splitter!(string, Regex!char)) error instantiatingThe text was updated successfully, but these errors were encountered: