How to import for mixin contents only.

Taylor Hillegeist via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Mar 10 14:34:28 PST 2016


On Thursday, 10 March 2016 at 22:07:23 UTC, Andrea Fontana wrote:
> On Thursday, 10 March 2016 at 17:43:08 UTC, Taylor Hillegeist 
> wrote:
>> I suppose the linker optimized the functions away since they 
>> are now in their own section. But it seems a hacky way to do 
>> this.
>
> AFAIK assert(0) and other falsey assert have a special meaning 
> for compiler.
> So probably it's not so hacky but just a way to say that case 
> can't happen.
>
> It is used also for:
>
>
> auto myfunc(int i)
> {
>
>    if (i == 0) return 10;
>    else if (i == 1) return 3;
>
>    assert(0);
> }
>
> And also with non final switch using
>
> switch(var)
> {
>    case ...
> ...
>    default: assert(0);
> }

I'm good with the assert(0), I'm not so happy with the linker not 
being able to create a binary without the -ffunction-sections 
option.

I think there needs to be a ctimport keyword or something. I 
should not have to deal with the imports only used during compile 
time. it is not a good thing.



More information about the Digitalmars-d-learn mailing list