<div dir="ltr">What about allowing syntax sugar as an alternative to relying on the new `from/Module` inline import idiom:<br><div><br></div><div>```</div><div>void fun(T)(std.stdio::File input, T value) if (std.traits::isIntegral!T) {...}</div><div><div>```<br></div></div><div><br></div><div>instead of:</div><div><div><br></div><div>```</div><div><div>void fun(T)(Module!"std.stdio".File input, T value) if (Module!"std.traits".isIntegral!T) {...}</div></div><div>```</div></div><div><br></div><div>Rationale:</div><div><br></div><div>* this reads much better (less noise); same as `=>` syntax for lambdas</div><div><br></div><div>* this is expected to be a very common pattern, so might as well make it as simple as possible</div><div><br></div><div>* not particular on which symbol is used, could be something else, so long it doesn't involve writing a string such as from!"std.traits". But :: will be familiar to those coming from C++/rust etc.</div><div><br></div><div>* from!"" is too loose and can be abused arbitrarily:</div><div><br></div><div>```</div><div>// this compiles</div><div>void fun(){</div><div><div>  from!"std.stdio; pragma(msg,`abuse...`); import std.stdio".File a;</div></div><div>}</div><div>```</div><div><br></div><div>Furthermore this is useful in other scenarios, namely when an import is used only once in a context:</div><div>```</div><div>auto fun(){  return std.file::getcwd; }</div><div>```</div><div>is more DRY; instead of:</div><div><div>```</div><div>auto fun(){ static import std.file;  return std.file.getcwd; }</div><div>auto fun(){ return Module!"std.file".getcwd; }<br></div><div>```</div></div><div><br></div><div>NOTE: if :: is not feasible for whatever reason, let's consider other symbols without prejudice to this proposal.</div><div><br></div></div>