Issue 10175 - std.conv.to for a range
Summary: std.conv.to for a range
Status: NEW
Alias: None
Product: D
Classification: Unclassified
Component: phobos (show other issues)
Version: D2
Hardware: x86 Windows
: P4 enhancement
Assignee: No Owner
URL:
Keywords: rejects-valid
: 12348 (view as issue list)
Depends on:
Blocks:
 
Reported: 2013-05-26 06:05 UTC by bearophile_hugs
Modified: 2024-12-01 16:17 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description bearophile_hugs 2013-05-26 06:05:37 UTC
This is borderline between an enhancement and a bug report.


import std.array: array;
import std.range: iota;
import std.conv: to;
void main() {
    auto items = iota(10);
    auto r1 = items.array.to!(string[]);
    auto r2 = items.to!(string[]);
}



DMD 2.063beta7 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 !(string[])(Result)
...\dmd2\src\phobos\std\conv.d(276): Error: template instance toImpl!(string[]) errors instantiating template
test.d(7): Error: template instance std.conv.to!(string[]).to!(Result) error instantiating
Comment 1 bearophile_hugs 2014-03-11 14:23:13 UTC
*** Issue 12348 has been marked as a duplicate of this issue. ***
Comment 2 dlangBugzillaToGithub 2024-12-01 16:17:40 UTC
THIS ISSUE HAS BEEN MOVED TO GITHUB

https://github.com/dlang/phobos/issues/9977

DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB