Specify rhs at initialisation or assignment of typedef' d variable
inevzxui via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Jul 31 00:50:57 PDT 2017
On Monday, 31 July 2017 at 07:16:25 UTC, Cecil Ward wrote:
> Say I have used Typedef! to create some new type and I declare
> a variable, constant or enum of that type. Is there a way that
> I can express a literal value on the rhs without having to use
> casts, as that seems to defeat the point of the nice type
> safety?
>
> I may be asking for the impossible or _illogical_ here. In any
> case, I still get to keep the nice feature of not being able to
> mix up types with assignment from one variable to another.
>
> Specific example is
>
> mac_addr_48_t my_mac_address = 0x112233445566uL;
>
> Which now produces a compile time error after I changed to use
> an alias = Typedef!uint64_t as opposed to just a straight
> alias = uint64_t earlier with no strong typing.
If struct + alias this is not strong enough the only solution is
see is a helper template à la "octal" or "hexString", i.e a
static cally checked string.
More information about the Digitalmars-d-learn
mailing list