DIP 37: Importing Packages as if They Were Modules

deadalnix deadalnix at gmail.com
Mon May 6 00:56:04 PDT 2013


On Monday, 6 May 2013 at 06:18:40 UTC, Timothee Cour wrote:
> under DIP37, assuming Clock is under std.datetime.common, will 
> we have:
>
> fullyQualifiedName!Clock == std.datetime.common.Clock,
> whereas currently we have: fullyQualifiedName!Clock == 
> std.datetime.Clock.
>
> Likewise with moduleName!Clock, packageName, __MODULE__ etc, 
> which
> will have a different value compared to currently.
> So this will result in potential code breakage for code that 
> relies on
> that. Just something to think about.

That is true. In D, ANY change can cause a breakage. Yes, even 
the one that suddenly allow new constructs because of potential 
existence of is(typeof(previously invalid now valid code)) .

We should test this kind of change on actual codebases to assert 
what is the breakage. But I expect it to be small in this case, 
so it is worth it.


More information about the Digitalmars-d mailing list