[Issue 9286] std.conv.parse fails to compile with Nullable

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Jan 9 02:51:31 PST 2013


http://d.puremagic.com/issues/show_bug.cgi?id=9286


jens.k.mueller at gmx.de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|std.conv fails to compile   |std.conv.parse fails to
                   |with Nullable               |compile with Nullable


--- Comment #1 from jens.k.mueller at gmx.de 2013-01-09 02:51:25 PST ---
Actually std.conv.parse is called by std.conv.to. Thus, the better example is:

unittest                                                                        
{                                                                               
    import std.typecons;                                                        
    import std.conv;                                                            
    auto f = parse!(Nullable!(uint))("12");                                     
    assert(f == 12);                                                            
}

which fails with

test.d(9): Error: template std.conv.parse does not match any function template
declaration. Candidates are:
/usr/local/bin/../src/phobos/std/conv.d(1724):        std.conv.parse(Target,
Source)(ref Source s) if (isSomeChar!(ElementType!(Source)) &&
isIntegral!(Target) && !is(Target == enum))
/usr/local/bin/../src/phobos/std/conv.d(1978):        std.conv.parse(Target,
Source)(ref Source s, uint radix) if (isSomeChar!(ElementType!(Source)) &&
isIntegral!(Target) && !is(Target == enum))
/usr/local/bin/../src/phobos/std/conv.d(2075):        std.conv.parse(Target,
Source)(ref Source s) if (isExactSomeString!(Source) && is(Target == enum))
/usr/local/bin/../src/phobos/std/conv.d(2134):        std.conv.parse(Target,
Source)(ref Source p) if (isInputRange!(Source) &&
isSomeChar!(ElementType!(Source)) && !is(Source == enum) &&
isFloatingPoint!(Target) && !is(Target == enum))
/usr/local/bin/../src/phobos/std/conv.d(2620):        std.conv.parse(Target,
Source)(ref Source s) if (isExactSomeString!(Source) &&
staticIndexOf!(Unqual!(Target), dchar, Unqual!(ElementEncodingType!(Source)))
>= 0)
test.d(9):        ... (7 more, -v to show) ...
/usr/local/bin/../src/phobos/std/conv.d(1724): Error: template std.conv.parse
cannot deduce template function from argument types !(Nullable!(uint))(string)
test.d(9): Error: template instance parse!(Nullable!(uint)) errors
instantiating template

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list