On 3/29/16 11:08 PM, xenon325 wrote:
On Tuesday, 29 March 2016 at 15:25:27 UTC, Steven Schveighoffer wrote:
I anticipate 2.071.0 is going to cause a lot of deprecation messages
and strange errors to occur, due to the fixes of very long-standing
import bugs.

I wrote a blog post (actually my first ever) on this, let me know what
you think (and please, any clarifications/errors, let me know):

http://www.schveiguy.com/blog/2016/03/import-changes-in-d-2-071/

1.
In addition, importing a module using static, renamed, or selective
imports, then the module was imported publicly, even though it was
supposed to be private.

Not an English speaker, but this doesn't sound right (at least
stylistically).
Reread it several times, but I couldn't get the meaning of the sentence,
until opened bug report.


Definitely some grammar issues there. New reworded sentence:

In addition, when importing a module using static, renamed, or selective imports, the symbols imported were incorrectly made public to importing modules.

Sound better?

2.
With 2.070.2 and prior versions, compiling this works just fine. With
2.071.0 and above, you will get either a deprecation warning, or an
error.

With 2.070.2, this compiled just fine. [...] With 2.071.0 and above,
this will trigger a deprecation warning. In the future, the code will
trigger an error.

In 2.070.2, this produces no warning or error. In 2.071.0 and beyond,
this will produce a deprecation warning, and eventually an error.

Not sure if it's worth it to repeat after each example. Feels redundant.

I think it's important to state the previous and new behavior, even though it's always the same. It does sound redundant, but makes it easier to understand.


3. I think it's OK to write just major compiler versions, no need for
patch version: 2.070 and 2.071

Yes, I did that.

Thanks for the feedback.

-Steve

Reply via email to