Then how you defined the index to conform to Strideable? Below code does work as it seams that you can't use generics in subscripts.
subscript<T:Strideable>(index:T) -> Element Zhaoxin On Wed, Jul 6, 2016 at 8:32 PM, Tim Vermeulen <tvermeu...@me.com> wrote: > > On 6 Jul 2016, at 14:03, Zhao Xin <owe...@gmail.com> wrote: > > According to the document of Swift 3, Array has already conformed > protocol RangeReplaceableCollection. > > > That’s exactly why I also want to conform my wrapper to that protocol? I > think there’s a misunderstanding. I’m making a collection that can be > subscripted with any index (that conforms to Strideable), but behaves like > an array otherwise. > > > Zhaoxin > > On Wed, Jul 6, 2016 at 7:09 PM, Tim Vermeulen via swift-users < > swift-users@swift.org> wrote: > >> RangeReplaceableCollection has three initialisers: init(), init(_:) and >> init(repeating:count:). The latter two are implemented using the empty >> initialiser. But why are these initialisers part of this particular >> protocol? As far as I can tell, no other methods of this protocol depend on >> these initialisers. The requirement of the empty initialiser makes it >> impossible to have a collection conform to this protocol that needs >> additional data for its initialisation. >> >> For instance, I was making an array that works with any Strideable >> indices, not just integers. A startIndex is needed for its initialisation, >> so I can’t really conform it to RangeReplaceableCollection. If I do it >> anyways (with a fatalError() in the required empty initialiser) everything >> seems to work just fine, except for the protocol’s three initialisers. >> >> Perhaps these initialisers should be moved to a (possible new) different >> protocol? >> _______________________________________________ >> swift-users mailing list >> swift-users@swift.org >> https://lists.swift.org/mailman/listinfo/swift-users >> > > >
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users