On Tuesday, 25 April 2017 at 18:32:09 UTC, Steven Schveighoffer
wrote:
I missed this part. Now that I read that, I think we aren't
going to gain much by having this language feature internal to
the compiler.
The way I understood it, the feature will only stay internal to
the compiler until it's deemed "safe" for general use.
If we want to limit usage, what I'd *rather* see is that the
@future (or TBD attribute) only has special meaning inside
object.d. Having to adjust a hard-coded compiler list seems
like it will result in zero PR changes (save the one that
prompted this DIP) that might give us any insight into whether
this is a useful feature.
The proposal does include something like that.
Alternatively, if it proves to be simpler to implement, the
feature can be added as an attribute with reserved
double-underscore prefix (i.e. @__future) with compiler checks
ensuring that it is not used outside of core.*/std.*/object
modules. If that course of action is chosen, such an attribute
should be defined in the core.attribute module of DRuntime.