digitalmars.D.bugs - [Issue 3070] New: Implicitly conversion on function call
- d-bugmail puremagic.com (54/54) Jun 15 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3070
- Robert Fraser (4/68) Jun 15 2009 If you want quicker responses to questions, try the newsgroups or IRC.
- d-bugmail puremagic.com (12/12) Jun 10 2011 http://d.puremagic.com/issues/show_bug.cgi?id=3070
http://d.puremagic.com/issues/show_bug.cgi?id=3070
Summary: Implicitly conversion on function call
Product: D
Version: 2.030
Platform: x86
OS/Version: Windows
Status: NEW
Severity: trivial
Priority: P2
Component: DMD
AssignedTo: nobody puremagic.com
ReportedBy: k0l0b0k.void gmail.com
I have next pieces of code:
struct MyString
{
public MyString opAssign(string pStr)
{
throw new Error("");
}
public MyString opCast(string pStr)
{
throw new Error("");
}
public MyString opImplicitCast(string pStr)
{
throw new Error("");
}
this(string pStr)
{
throw new Error("");
}
}
void foo(MyString pStr)
{
}
int main(char[][] args)
{
MyString str = "test1";
str = "test2";
foo(str);
foo("test3"); // error "Error: cannot implicitly convert expression
("test3") of type immutable(char)[] to MyString
return 0;
}
This is just sample. So, my trouble is to pass string argument to foo() with
implicit conversion to MyString struct (I also tried class, with no results).
I'm googled by this topic, but nothing found. Can you help me? This is not a
bug (I think), but the question - how I can implicitly convert from one object
to another in the as C++ does (C++ will call constructor with parameter type
"string"). How I can make same in D?
Thanks in advance!
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 15 2009
d-bugmail puremagic.com wrote:
http://d.puremagic.com/issues/show_bug.cgi?id=3070
Summary: Implicitly conversion on function call
Product: D
Version: 2.030
Platform: x86
OS/Version: Windows
Status: NEW
Severity: trivial
Priority: P2
Component: DMD
AssignedTo: nobody puremagic.com
ReportedBy: k0l0b0k.void gmail.com
I have next pieces of code:
struct MyString
{
public MyString opAssign(string pStr)
{
throw new Error("");
}
public MyString opCast(string pStr)
{
throw new Error("");
}
public MyString opImplicitCast(string pStr)
{
throw new Error("");
}
this(string pStr)
{
throw new Error("");
}
}
void foo(MyString pStr)
{
}
int main(char[][] args)
{
MyString str = "test1";
str = "test2";
foo(str);
foo("test3"); // error "Error: cannot implicitly convert expression
("test3") of type immutable(char)[] to MyString
return 0;
}
This is just sample. So, my trouble is to pass string argument to foo() with
implicit conversion to MyString struct (I also tried class, with no results).
I'm googled by this topic, but nothing found. Can you help me? This is not a
bug (I think), but the question - how I can implicitly convert from one object
to another in the as C++ does (C++ will call constructor with parameter type
"string"). How I can make same in D?
Thanks in advance!
If you want quicker responses to questions, try the newsgroups or IRC.
Bugzilla is usually for bugs :-). Anyway, user-defined implicit casting
is not implemented in (any version of) D yet. Sorry!
Jun 15 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3070
yebblies <yebblies gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |yebblies gmail.com
Resolution| |INVALID
Not a bug, works as designed. D does not allow implicit casting like this.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 10 2011









Robert Fraser <fraserofthenight gmail.com> 