druntime redesign

Jacob Carlborg doob at me.com
Tue Mar 17 20:37:04 UTC 2020


On 2020-03-17 20:34, IGotD- wrote:

> This is where something like
> 
> import core.sys.<compiletime identifier>.semaphore;
> 
> would be an absolute great help.

Can be easily handled with a string mixin and a utility function:

version (linux)
     enum platform = "linux";
else version (Windows)
     enum platform = "windows";

string import_(string[] imports ...)
{
     string result;

     foreach (i, imp; imports)
     {
         if (i != 0)
             result ~= '.';

         result ~= imp;
     }

     return "import " ~ result ~ ';';
}

mixin(import_("core", "sys", platform, "semaphore"));

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list