On Tuesday, 1 January 2013 at 17:27:10 UTC, d coder wrote:
I observed that struct type function call arguments do not implicitly convert even when I define a valid constructor for type conversion.

That's not how you define implicit conversions in D. It's a weird hack from C++.

In D, you use alias this for implicit type conversions.
http://dlang.org/class.html#AliasThis

If you change Foo to this:

struct Foo
{
  Bar asBar() { return Bar(this); }
  alias asBar this;
}

Your code will work.

Note however that alias this has a few bugs.
http://d.puremagic.com/issues/buglist.cgi?query_format=advanced&short_desc=alias%20this&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&short_desc_type=allwordssubstr

Reply via email to