On Friday, 23 February 2018 at 02:31:34 UTC, Jonathan M Davis
We deprecate stuff when we need to, but every time we deprecate
something, it breaks code (even if it's not immediate
breakage), so the benefits that come from a deprecation need to
be worth the breakage that it causes. Every D program on the
planet which isn't completely trivial uses imports, and many of
them use selective imports. So, you're talking about breaking a
large percentage of the existing programs for a syntax change.
That's not likely to go over well. Large breakage like that can
be acceptable when it clearly fixes bugs but not just for
- Jonathan M Davis
oh..and really, there should be no need to deprecate anything
surely D can handle the current way of doing imports (not
including that rubbish in beta), and also a new way for those
that want to use it, or those that want put stuff on a single
import std.stdio, std.whatever[this, that], std.somethingelse,
This new syntax that I'm proposing (after reviewing discussions
here) seems like a sensible change. It's very easy for the brain
to chunk into components (unlike that rubbish in beta), and it
introduces thinking about 'selective imports' as just being an
array of selections, using the same array like syntax used
elsewhere in D.
I would be interested to see what controversy would result from
this new proposal, compared to the current change in beta.