<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">It’s always been possing to make arrays of Error, but exposing those arrays back to Objective-C may or may not have worked correctly (as you noticed).</div><div class=""><br class=""></div><div class="">And yes, your solutions are either adding different labels, or using the ‘objc’ attribute to explicitly specify a selector for one or the other.</div><div class=""><br class=""></div><div class="">Jordan</div><div class=""><br class=""></div><br class=""><div><blockquote type="cite" class=""><div class="">On Aug 8, 2016, at 16:35, Jon Shier <<a href="mailto:jon@jonshier.com" class="">jon@jonshier.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Jordan:<div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>Could you expand on allowing making arrays of errors? AFAIK, making arrays of ErrorProtocol/ErrorType/Error has always been possible. And somewhat coincidentally I ran into a runtime issue with the same library, fixed in the latest Swift trunk package, that would result in a crash when attempting to access an array of Errors through an intermediate derived property, but only in Objective-C derived classes. Perhaps that’s related?</div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>In any event, if we wished to maintain Objective-C visibility here, I would expect adding different external labels to fix the issue, right?</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Jon</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Aug 8, 2016, at 5:04 PM, Jordan Rose <<a href="mailto:jordan_rose@apple.com" class="">jordan_rose@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">I would definitely expect these two to conflict, so if they previously compiled happily I would guess that’s a bug we fixed. The most likely possibility is that we didn’t allow making arrays of errors and now we do.</div><div class=""><br class=""></div><div class="">Jordan</div><div class=""><br class=""></div><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Aug 5, 2016, at 14:57, Jon Shier via swift-users <<a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Swifters:<div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>I’m attempting to update some library code to beta 4 and I’ve run into something that’s either a bug or a deliberate change. In a class that’s a Foundation.Operation subclass, there are two finish() functions:</div><div class=""><br class=""></div><div class=""><div class="">final func finish(_ receivedErrors: [Error] = []) {</div><div class=""> _finish(receivedErrors, fromCancel: false)</div><div class="">}</div><div class=""><br class=""></div><div class="">/// Convenience method to simplify finishing when there is only one error.</div><div class="">final func finish(_ receivedError: Error?) {</div><div class=""> finish(receivedError.map { [$0]} ?? [])</div><div class="">}</div></div><div class=""><br class=""></div><div class="">Prior to beta 4 these functions lived side by side quite happily. In beta 4, however, their existence produces this error:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px 0px 0px 12px; text-indent: -12px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">method 'finish' with Objective-C selector 'finish:' conflicts with previous declaration with the same Objective-C selector</div></div><div style="margin: 0px 0px 0px 12px; text-indent: -12px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><br class=""></div><div style="margin: 0px 0px 0px 12px; text-indent: -12px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-family: Helvetica; font-size: 12px; text-indent: 0px;" class="">Now, if I mark one of the functions @nonobjc, it compiles. So is this a bug or change in behavior?</span></div><div style="margin: 0px 0px 0px 12px; text-indent: -12px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-family: Helvetica; font-size: 12px; text-indent: 0px;" class=""><br class=""></span></div><div style="margin: 0px 0px 0px 12px; text-indent: -12px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-family: Helvetica; font-size: 12px; text-indent: 0px;" class=""><br class=""></span></div><div style="margin: 0px 0px 0px 12px; text-indent: -12px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-family: Helvetica; font-size: 12px; text-indent: 0px;" class=""><br class=""></span></div><div style="margin: 0px 0px 0px 12px; text-indent: -12px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-family: Helvetica; font-size: 12px; text-indent: 0px;" class="">Jon Shier</span></div></div>_______________________________________________<br class="">swift-users mailing list<br class=""><a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a><br class=""><a href="https://lists.swift.org/mailman/listinfo/swift-users" class="">https://lists.swift.org/mailman/listinfo/swift-users</a><br class=""></div></blockquote></div><br class=""></div></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></body></html>