import std.stdio: writeln;
import std.exception: enforce;
import std.format: format;
auto ref testNames(in string[] names) {
enforce(!empty(names), "Names cannot be Empty or Null");
import std.algorithm: any, canFind;
char[] invalid = (cast(char*)malloc(char.sizeof * length))[0..length];
invalid = ['\'','\"',':',';','*','&','[',']','-','+','$','#','<','>','{','}','(',')'];
auto result = i.any!(a => invalid.canFind(a));
if(result) { throw new Exception("Invalid Name passed: %s".format(i)); }
} catch(Exception e) { writeln(e.msg); } finally { free(invalid.ptr); }
writeln(testNames(["/T&name"]));