On Wednesday, 15 July 2015 at 15:58:17 UTC, Daniel Kozák wrote:
On Wed, 15 Jul 2015 15:45:43 +0000
"rumbu" <ru...@rumbu.ro> wrote:
struct S { int a, b; }
auto s = cast(S)10;
//compiles and sets s.a to 10.
It works also for any other type, if the structure contains a
member of that type in the first position.
Is this normal behaviour?
Yes, this is OK
If you need to cast against diferent types you can try pointers:
In fact I'm trying to overload the cast operator in this case, I
was surprised about the default casting since I didn't find any
reference to this behaviour, nor in TDPL, nor online.
Since UFCS is not allowed in operator overloading I wonder if
this is possible.