On Sunday, 2 June 2019 at 19:38:11 UTC, Amex wrote:

Tired of having to import a single function to call it.

Since

mod.foo(x);

doesn't work since mod is not defined.

we have to do

import mod : foo;
foo(x);

Why not

mod:foo(x)?

or

mod#foo(x)

or

mod@foo(x)

or whatever

Reduces 50% of the lines and reduces the import symbol.

I realize that we could do

import m = mod;

m.foo(x);

but the idea is to only import the single function. I'm not sure if it matters. I thought importing single functions were suppose to be faster. Am I wrong?

The idea is to reduce having to litter the code with imports which I find I'm always having to do, or to make them global... just for a few calls in to them.

Expression based import is possible using mixin, see https://dlang.org/blog/2017/02/13/a-new-import-idiom/

Reply via email to