[swift-evolution] URL Literals

Charlie Monroe charlie at charliemonroe.net
Fri Dec 16 16:01:11 CST 2016


> 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