DIP10005: Dependency-Carrying Declarations is now available for community feedback

Timon Gehr via Digitalmars-d digitalmars-d at puremagic.com
Tue Dec 13 15:03:39 PST 2016


On 13.12.2016 23:33, Andrei Alexandrescu wrote:
> Destroy.
>
> https://github.com/dlang/DIPs/pull/51/files
>
>
> Andrei

1. The syntax is ambiguous.

Is import.foo.bar.baz the symbol baz in module foo.bar, or the symbol 
bar.baz in module foo?

I'd prefer syntax like (import foo.bar).baz and (import foo).bar.baz. 
(I.e., the syntax of import expressions would closely mirror that of 
import declarations, and would be unambiguous.)

2. The behaviour of aliases to import expressions should be defined 
explicitly.

I.e.

alias short = import very.long.module_name;

void foo(int i)(short.T a){ ... }

does this import the module if foo is not instantiated?


More information about the Digitalmars-d mailing list