[Issue 5843] Unable to convert a struct with an alias-this to long/ulong to int, using std.conv.to!int.

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Jun 2 10:33:04 PDT 2011


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


kennytm at gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Unable to format (writeln)  |Unable to convert a struct
                   |a struct with an alias-this |with an alias-this to
                   |to long/ulong.              |long/ulong to int, using
                   |                            |std.conv.to!int.


--- Comment #1 from kennytm at gmail.com 2011-06-02 10:28:36 PDT ---
The underlying problem is to!int of the struct isn't defined.

-------------------------
import std.conv;
struct SSSS {
    long a;
    alias a this;
}
void main() {
    to!int(SSSS.init);
}
-------------------------
/usr/include/phobos/std/conv.d(99): Error: template std.conv.toImpl(T,S) if
(!implicitlyConverts!(S,T) && isSomeString!(T) && isInputRange!(Unqual!(S)) &&
isSomeChar!(ElementType!(S))) does not match any function template declaration
/usr/include/phobos/std/conv.d(99): Error: template std.conv.toImpl(T,S) if
(!implicitlyConverts!(S,T) && isSomeString!(T) && isInputRange!(Unqual!(S)) &&
isSomeChar!(ElementType!(S))) cannot deduce template function from argument
types !(int)(SSSS)
/usr/include/phobos/std/conv.d(99): Error: template instance errors
instantiating template
x.d(7): Error: template instance std.conv.to!(int).to!(SSSS) error
instantiating
-------------------------

-- 
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