On 18 November 2012 14:01, David Nadlinger <see@klickverbot.at> wrote:
On Sunday, 18 November 2012 at 11:21:37 UTC, Manu wrote:
someFloat = someHalf <- doesn't work, because a cast operator expects an
explicit cast, even though this is a lossless conversion and should be
exactly the same as someDouble = someFloat.

Thoughts?

---
struct Half {
    float toFloat() { return 3.14f; }
    alias toFloat this;
}

void test() {
    Half h;
    float f = h;
    double d = h;
}
---

Works for you?

Interesting approach to the implicit cast problem. Very handy trick.