[swift-evolution] [Review] SE-0022: Referencing the Objective-C selector of a method

Jacob Bandes-Storch jtbandes at gmail.com
Tue Jan 19 16:56:30 CST 2016


Is it any more feasible to allow

    let sel: Selector = UIView.insertSubview(_:belowSubview:)

than it is to allow

    let sel = Selector(UIView.insertSubview(_:belowSubview:))

?

On Tue, Jan 19, 2016 at 2:50 PM, Joe Groff via swift-evolution <
swift-evolution at swift.org> wrote:

>
> On Jan 19, 2016, at 2:46 PM, David Hart <david at hartbit.com> wrote:
>
> What effect would that have? Would the options still return a type
> (Selector) that is CustomStringConvertible or would it just be compiler
> magic?
> David.
>
>
> There's some compiler magic necessary no matter what, since it isn't
> otherwise possible to go from a function reference to a name within the
> language. Selector itself will remain printable AFAIK (however, the way it
> prints will become somewhat misleading to Swift code, as the Swift mapping
> of APIs diverges from ObjC). We'll likely want to phase out its
> StringLiteralConvertible-ness, though.
>
> -Joe
>
>
> On 19 Jan 2016, at 23:43, Joe Groff via swift-evolution <
> swift-evolution at swift.org> wrote:
>
> We discussed this proposal during our core team review meeting, and
> concerns were raised about the implementability of the proposed
> 'Selector(Type.method)' syntax. Producing the selector is something that
> can't quite be modeled as a real initializer, so the type checker would
> have to perform heroics to disambiguate a selector literal reference from a
> proper initializer call. We recommend reconsidering alternative syntactic
> forms for referencing the selector. Potential options include:
>
> - A unique prefix identifier, such as `objc_selector(Type.method)`, as you
> had originally proposed, or
> - Taking advantage of the fact that functions don't have members to
> ascribe special behavior to 'Type.method.objcSelector', or something like
> it.
>
> -Joe
>
> On Jan 18, 2016, at 8:02 AM, Joe Groff via swift-evolution <
> swift-evolution at swift.org> wrote:
>
> Hello Swift community,
>
> The review of “Referencing the Objective-C selector of a method” begins
> now and runs through January 23, 2016. The proposal is available here:
>
>
> https://github.com/apple/swift-evolution/blob/master/proposals/0022-objc-selectors.md
>
> Reviews are an important part of the Swift evolution process. All reviews
> should be sent to the swift-evolution mailing list at
>
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> or, if you would like to keep your feedback private, directly to the
> review manager.
>
>
> *What goes into a review?*
> The goal of the review process is to improve the proposal under review
> through constructive criticism and, eventually, determine the direction of
> Swift. When writing your review, here are some questions you might want to
> answer in your review:
>
> • What is your evaluation of the proposal?
> • Is the problem being addressed significant enough to warrant a change to
> Swift?
> • Does this proposal fit well with the feel and direction of Swift?
> • If you have you used other languages or libraries with a similar
> feature, how do you feel that this proposal compares to those?
> • How much effort did you put into your review? A glance, a quick reading,
> or an in-depth study?
>
> More information about the Swift evolution process is available at
>
> https://github.com/apple/swift-evolution/blob/master/process.md
>
> Thank you,
>
> -Joe
>
> Review Manager
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160119/9891931f/attachment.html>


More information about the swift-evolution mailing list