[swift-evolution] [Discussion]: Renaming #line, the line control statement

Dave Abrahams dabrahams at apple.com
Thu Feb 11 15:20:20 CST 2016


on Thu Feb 11 2016, Chris Lattner <swift-evolution at swift.org> wrote:

> On Feb 8, 2016, at 10:45 AM, Dave Abrahams via swift-evolution <swift-evolution at swift.org> wrote:
>>> A more flexible grammar was suggested, however, as Kevin Ballard
>>> pointed out, "This feature isn't something end users are going to
>>> use. And it's not something that will ever reasonably apply to
>>> anything except #file and #line. This feature is only ever intended to
>>> be used by tools that auto-generate source files. The most important
>
>>> concerns here really should just be that whatever we use is trivial to
>>> generate correctly by even the simplest of tools and is readable. And
>>> since this won't ever apply to anything beyond #file and #line,
>>> there's no need to try to generalize this feature at all."
>> 
>> +1 for the idea, but...
>> 
>> I don't think we should make this change without also making the feature
>> useful for things like gyb, which has to use its own home-brew line
>> directive machinery because #line is AFAIK currently useless for any
>> known application.  The way it currently works you can only put the
>> directive at grammatical boundaries in the program where #if would also
>> work.  For #if this is a feature, but for #resetfilecontext it's a bug.
>> 
>> Isn't it the case that making this feature useful would require a lot
>> more than the simple syntactic shuffle being proposed here?
>
> I completely disagree with this approach.  Making the existing feature
> “more useful” is orthogonal from repainting it.  Getting the paint
> right is a high priority for Swift 3, but making it “more useful” is
> low priority.

Fair enough.  I suppose as long as it's useless any further changes
won't break much code anyhow ;-)

-- 
-Dave



More information about the swift-evolution mailing list