[swift-evolution] URL Literals

Micah Hainline micah.hainline at gmail.com
Fri Dec 16 17:19:16 CST 2016


Exactly! It's not an earth-shattering pain, but it would be nice to have clean type safety there.

> On Dec 16, 2016, at 4:01 PM, Charlie Monroe <charlie at charliemonroe.net> wrote:
> 
> 
>>> On Dec 16, 2016, at 10:05 PM, Charles Srstka via swift-evolution <swift-evolution at swift.org> wrote:
>>> 
>>> On Dec 16, 2016, at 2:46 PM, Micah Hainline via swift-evolution <swift-evolution at swift.org> wrote:
>>> 
>>> I would like to be able to create a URL literal that is compile-time
>>> checked for correct format. This would help avoid code like this:
>>> 
>>>  let url: URL = URL(string: "https://example.com")!
>>> 
>>> The cleanest way I can think of doing that would be to introduce a new
>>> macro structure similar to #selector, though I'm open to other ideas.
>>> I would think it should take a quoted literal string to avoid
>>> problems. That would look like this:
>>> 
>>>  let url: URL = #url("https://example.com")
>>> 
>>> What does everyone think of that idea?
>>> _______________________________________________
>>> swift-evolution mailing list
>>> swift-evolution at swift.org
>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>> 
>> 
>> I’d like to see something like that for file path URLs. For something so commonly used, URL(fileURLWithPath:) is obnoxiously verbose.
>> 
>> Charles
> 
> Yes, but it's not a nullable initializer. With URL(string:) the incredible pain is that even compile-time URLs to your own website are nullable URL? and you need to force-unwrap them.
> 
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 


More information about the swift-evolution mailing list