1 module rfctemplate; 2 3 public import theimplementation; 4 5 version (unittest) 6 { 7 void safelog(string msg) @trusted @nogc nothrow 8 { 9 import core.stdc.stdio : printf; 10 11 printf("%.*s\n", msg.length, &msg[0]); 12 } 13 14 void testFunctionality()() 15 { 16 assert(false, "TODO: test functionality"); 17 } 18 19 unittest 20 { 21 testFunctionality(); 22 safelog("package works"); 23 } 24 25 @safe unittest 26 { 27 static if (__traits(compiles, testFunctionality())) 28 { 29 pragma(msg, "package is @safe"); 30 } 31 else 32 { 33 pragma(msg, "package is not @safe"); 34 } 35 } 36 37 @nogc unittest 38 { 39 static if (__traits(compiles, testFunctionality())) 40 { 41 pragma(msg, "package is @nogc"); 42 } 43 else 44 { 45 pragma(msg, "package is not @nogc"); 46 } 47 } 48 49 nothrow unittest 50 { 51 static if (__traits(compiles, testFunctionality())) 52 { 53 pragma(msg, "package is nothrow"); 54 } 55 else 56 { 57 pragma(msg, "package is not nothrow"); 58 } 59 } 60 }