> On Mar 14, 2016, at 6:09 PM, Chris Lattner <[email protected]> wrote:
> 
>> 
>> On Mar 14, 2016, at 1:49 PM, Erica Sadun <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> 
>>> On Mar 14, 2016, at 2:37 PM, Chris Lattner <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> If it is practical to get the module-relative path, I’d rather see us 
>>> switch #file to produce *that*, and introduce a #fullPath that produces the 
>>> current behavior.  Rationale: we want to encourage deterministic and stable 
>>> builds wherever possible, and including the full path to a source file 
>>> breaks the ability to build in different directories (e.g. two different 
>>> users’s homedirs) and get the same executable out.
>> 
>> I'd like to know one way or another. My current understanding is that this 
>> is not produced as part of the build.
>> 
>> And, quite honestly, I'd sort of like to see better names. I stuck with 
>> file, line, column, and function because those were the current art.
>> Now that the identifiers are growing, relativeFilePath, fullFilePath, 
>> fileName, lineNumber (or fileLineNumber), fileColumn, and functionSignature 
>> (that's somehow compliant with the updated signatures proposal) seem more 
>> appropriate. The old "function" string just feels archaic and wrong.
> 
> In this case, I don’t think that more is better.  Having too many options and 
> knobs is not good for anyone.  Having #file produce the module-relative path 
> (including the module name) serves all of the use-cases that I’m aware of, 
> since you can further slice and dice it to get the base file name out.  
> 
> What other use cases exist, and how important are they?
> 
> -Chris

Module-relative path seems to be most highly requested.

If you google for __FILE__ and lastPathComponent, clearly I'm not the only one 
out there who would be happy for the convenience but so far I have not heard 
any voice on-list support the idea.

As for function, which returns a string, at a minimum, wouldn't it be better to 
return a GregorString (UIView.insertSubview(_:at:)) vs a __FUNCTION__ string 
(insertSubview).

-- E

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to