Difference between using `import` with/without the colon

Basile B. b2.temp at gmx.com
Sun Mar 19 08:47:32 UTC 2023


On Sunday, 19 March 2023 at 07:20:17 UTC, Jeremy wrote:
> Hello, is there any difference at all between the following 
> lines, as an example:
>
> ```d
> import std.regex;
> import std.regex : matchFirst;
> ```
>
> What technical differences does it make (except for having the 
> identifier available), using the colon?
> Does it make any speed/optimization changes or am I better off 
> just importing the whole module?

The colon-form, aka "selective import" has for effect

1. to create a local alias so this can indeed speedup symbol 
lookups in the sense that search will succeed before looking in 
the scope of the imports.
2. to make non-selected symbols, i.e not listed in the colon 
right hand side, in the import not available.

Note that using both makes no sense, but I guess you did that to 
express more clearly what you meant.


More information about the Digitalmars-d-learn mailing list