[swift-evolution] Proposal: Allow #if to guard switch case clauses
Jon Shier
jon at jonshier.com
Thu May 11 12:35:54 CDT 2017
Just wanted to add that I ran into the #if limitations when trying to port Alamofire to Linux, so any enhancements would be most welcome. There was a point where I had to duplicate an entire class because I couldn't use #if for just the parts I needed.
Jon
> On May 11, 2017, at 11:57 AM, rintaro ishizaki via swift-evolution <swift-evolution at swift.org> wrote:
>
> Thank you all!
>
>
> 2017-05-11 16:18 GMT+09:00 John McCall via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>>:
>> On May 11, 2017, at 1:45 AM, Nicholas Maccharoli via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> I also strongly agree.
>>
>> I can think of no strong argument against this, was this intentional at one point or a compiler bug?
>
> The language design of #if is more complex than it is in C: it is part of the language grammar, not a separate phase of pre-processing, and must be specifically supported in every position it appears.
>
> That said, I agree with Chris and Jordan that supporting #if in any simple, sequential position in the grammar is an obvious extension of the existing design and can reasonably be fast-tracked.
>
>
> So, can I withdraw my proposal PR on swift-evolution repository now?
>
> Grammatically similar positions where it's hard to dispute the consistency argument for #if: get-set clauses, precedencegroup declarations.
>
> A position which would definitely be more useful to prioritize but where both the language design and the implementation are trickier: attribute lists.
>
> John.
>
>>
>> - Nick
>>
>>
>> On Thu, May 11, 2017 at 2:37 PM, Chris Lattner via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> I agree with Jordan.
>>
>> -Chris
>>
>>> On May 10, 2017, at 11:47 AM, Jordan Rose via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>>
>>> I'm in favor, certainly. I'd personally say this wouldn't even need to go through the full evolution process, but I'm not a core team member.
>>>
>>> Jordan
>>>
>>>
>>>> On May 10, 2017, at 01:32, rintaro ishizaki via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>>>
>>>> Hi evolution community,
>>>>
>>>> This proposal allows you to enclose switch cases with #if directive.
>>>> Implementation: https://github.com/apple/swift/pull/9457 <https://github.com/apple/swift/pull/9457>
>>>> This is one of the oldest SR issue:
>>>> https://bugs.swift.org/browse/SR-2 <https://bugs.swift.org/browse/SR-2>
>>>> https://bugs.swift.org/browse/SR-4196 <https://bugs.swift.org/browse/SR-4196>
>>>>
>>>> Thanks!
>>>> Rintaro
>>>
>>> _______________________________________________
>>> swift-evolution mailing list
>>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
>>
>>
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
>>
>>
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170511/82e41382/attachment.html>
More information about the swift-evolution
mailing list