A collection of DIPs

Artur Skawina via Digitalmars-d digitalmars-d at puremagic.com
Mon Sep 7 13:55:47 PDT 2015


> void main()
> {
>     std.stdio.writeln("Hello world!"); // Error: undefined identifier 'std'
> }    

   struct Mod(string B="") {
      template opDispatch(string M) {
         static if (__traits(compiles, { mixin(`import `~B~"."~M~`;`); }))
            mixin(`import opDispatch = `~B~"."~M~`;`);
         else
            alias opDispatch = Mod!((B!=""?B~".":"")~M);
      }
   }

   alias mod = Mod!"";
   alias std = mod.std;
   
   // Could also place above declarations in "object.d".

   void main() {
       std.stdio.writeln("Hello world!");
       mod.core.stdc.stdio.printf("%d\n", 42);
   }

SCNR

artur


More information about the Digitalmars-d mailing list