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:

import std.stdio;
struct S
{
        ubyte a;
        ubyte b;
}

void main() {
        ushort m = 65535;
        auto s = *(cast(S*)&m);
        writeln(s);
}

Reply via email to