[Issue 14396] New: compile error std.conv.parse!int with input range (dmd2.067)
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Thu Apr 2 08:04:08 PDT 2015
https://issues.dlang.org/show_bug.cgi?id=14396
Issue ID: 14396
Summary: compile error std.conv.parse!int with input range
(dmd2.067)
Product: D
Version: D2
Hardware: x86_64
OS: Windows
Status: NEW
Severity: regression
Priority: P1
Component: DMD
Assignee: nobody at puremagic.com
Reporter: coz.d.lang at gmail.com
import std.stdio;
import std.conv;
void main()
{
struct StrInputRange
{
this (string s) { str = s; }
char front() const @property { return str[front_index]; }
char popFront() @property { return str[front_index++]; }
bool empty() const @property { return str.length <= front_index; }
size_t front_index = 0;
string str;
}
auto input = StrInputRange("777");
auto a = std.conv.parse!int(input);
writefln("a = %s", a);
}
/*
-- compile error (dmd2.067)
C:\D\dmd2\windows\bin\..\..\src\phobos\std\conv.d(1992): Error: cannot
implicitly convert expression (cast(int)s.front() - 48) of type int to char
source\app.d(17): Error: template instance std.conv.parse!(int, StrInputRange)
error instantiating
-- output (dmd2.065)
a = 777
*/
--
More information about the Digitalmars-d-bugs
mailing list