Eureka: Fails to compile in Xcode 9

With Swift version 3.2 as compiled with Xcode 9 - Beta 1. Installed as a pod with use_framworks!

/Users/geoffmacdonald/imgur-ios/Pods/Eureka/Source/Core/Section.swift:206:1: error: 'Collection' requires the types 'Section.SubSequence' (aka 'Array<BaseRow>') and 'ArraySlice<BaseRow>' be equivalent
extension Section : MutableCollection, BidirectionalCollection {
^
/Users/geoffmacdonald/imgur-ios/Pods/Eureka/Source/Core/Section.swift:206:1: note: requirement specified as 'Self.SubSequence' == 'Self.SubSequence.SubSequence' [with Self = Section]
extension Section : MutableCollection, BidirectionalCollection {
^
/Users/geoffmacdonald/imgur-ios/Pods/Eureka/Source/Core/SelectableSection.swift:65:43: error: associated type 'Self.SubSequence.SubSequence' cannot be equal to both 'Section.SubSequence' (aka 'Array<BaseRow>') and 'ArraySlice<BaseRow>'
extension SelectableSectionType where Self: Section, Self.Iterator == IndexingIterator<Section>, Self.Iterator.Element == BaseRow {
                                          ^
/Users/geoffmacdonald/imgur-ios/Pods/Eureka/Source/Core/Section.swift:206:1: error: 'Collection' requires the types 'Section.SubSequence' (aka 'Array<BaseRow>') and 'ArraySlice<BaseRow>' be equivalent
extension Section : MutableCollection, BidirectionalCollection {
^
/Users/geoffmacdonald/imgur-ios/Pods/Eureka/Source/Core/Section.swift:206:1: note: requirement specified as 'Self.SubSequence' == 'Self.SubSequence.SubSequence' [with Self = Section]
extension Section : MutableCollection, BidirectionalCollection {

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 22
  • Comments: 16 (3 by maintainers)

Most upvoted comments

pod 'Eureka', :git => 'https://github.com/xmartlabs/Eureka.git', :branch => 'Xcode9-Swift4' does not work for me. But pod 'Eureka', :git => 'https://github.com/xmartlabs/Eureka.git', :branch => 'Xcode9-Swift3_2' does.

This seemed to be an issue of Protocol conformance with Collection where the subscript should return an ArraySlice instead of an actual Array type. I’ve fixed it, let me know if that works out for all of you working under Xcode 9.

xcode 9 beta 4 doesn’t work

I have this problem ?

Xcode 9

requires the types ‘Section.SubSequence’ (aka ‘Array<BaseRow>’) and ‘ArraySlice<BaseRow>’ be equivalent