[swift-evolution] [Pitch] Improve `init(repeating:count)`
Jonathan Hull
jhull at gbis.com
Thu Aug 17 04:46:59 CDT 2017
+1
> On Aug 17, 2017, at 2:38 AM, Adrian Zubarev via swift-evolution <swift-evolution at swift.org> wrote:
>
> This is a small pitch which I will abandon if there is not much appetite for such improvement. ;)
>
> I would like to propose an improvement to an initializer of all collection types that provide: init(repeating repeatedValue: Element, count: Int).
>
> This change is meant to support reference type initialization on each iteration of the internal for-loop rather than copying the same references n times.
>
> The change would be really straightforward and should not break existing code, except that the behavior would change for class types.
>
> Instead of:
>
> init(repeating repeatedValue: Element, count: Int)
>
> let threeViews = Array(repeating: UIView(), count: 3) // contains 1 view 3 times
> we would have:
>
> init(repeating repeatedValue: @autoclosure () -> Element, count: Int)
>
> This simple change would allow us to construct an array of different objects instead of an array with n references to the same object.
>
> let threeViews = Array(repeating: UIView(), count: 3) // contains 3 different views
>
>
>
>
> _______________________________________________
> 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/20170817/34633d07/attachment.html>
More information about the swift-evolution
mailing list