[swift-evolution] [Review] SE-0128: Change failable UnicodeScalar initializers to failable

Patrick Pijnappel patrickpijnappel at gmail.com
Fri Jul 22 06:43:22 CDT 2016


+1 Makes sense, it's a basic failable conversion.

On Fri, Jul 22, 2016 at 2:09 PM, 王 黎明 <swift-evolution at swift.org> wrote:

> +0.
>
> Maybe off topic.
>
> The problem is there’s no process for the validty of the parameter.
>
> The source of UnicodeScala:
>
>   public init(_ v: UInt32) {
>     // Unicode 6.3.0:
>     //
>     //     D9.  Unicode codespace: A range of integers from 0 to 10FFFF.
>     //
>     //     D76. Unicode scalar value: Any Unicode code point except
>     //     high-surrogate and low-surrogate code points.
>     //
>     //     * As a result of this definition, the set of Unicode scalar
> values
>     //     consists of the ranges 0 to D7FF and E000 to 10FFFF, inclusive.
>
>     _precondition(v < 0xD800 || v > 0xDFFF,
>         "high- and low-surrogate code points are not valid Unicode scalar
> values")
>     _precondition(v <= 0x10FFFF, "value is outside of Unicode codespace")
>
>     self._value = v
>   }
>
>
> 55357 == 0xD83D , not less than 0xD800
>
> The _precondition like assert.
>
>
>
>
>
> 在 2016年7月22日,上午10:23,Karl via swift-evolution <swift-evolution at swift.org>
> 写道:
>
> +1. I was trying to build a naive random string generator the other day
> (but I wanted it to occasionally spit out extended clusters like emojis),
> and was also surprised that the initialiser crashes.
>
> Could probably be filed under “bug fixes”, even.
>
> Karl
>
> On 22 Jul 2016, at 00:28, Chris Lattner via swift-evolution <
> swift-evolution at swift.org> wrote:
>
> Hello Swift community,
>
> The review of "SE-0128: Change failable UnicodeScalar initializers to
> failable" begins now and runs through July 24. The proposal is available
> here:
>
>
> https://github.com/apple/swift-evolution/blob/master/proposals/0128-unicodescalar-failable-initializer.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 contribute to 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 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,
>
> -Chris Lattner
> 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/20160722/52b42cc1/attachment.html>


More information about the swift-evolution mailing list