On Wed, May 24, 2017 at 7:21 PM, David Sweeris <[email protected]> wrote:
> > On May 24, 2017, at 5:11 PM, Xiaodi Wu <[email protected]> wrote: > > On Wed, May 24, 2017 at 3:32 PM, David Sweeris via swift-evolution < > [email protected]> wrote: > >> So, I’m working on a type, and would like to make it conform to >> `ExpressibleByArrayLiteral`. The thing is, I don’t actually care what type >> `Element` is as long as it conforms to `FixedWidthInteger` and >> `UnsignedInteger`. I tried writing this: >> public init <U: FixedWidthInteger & UnsignedInteger> (arrayLiteral >> elements: U...) { … } >> But Xcode says my type doesn’t conform to `ExpressibleByArrayLiteral` >> unless I add an init that takes a concrete type: >> public init(arrayLiteral elements: UInt...) { … } >> >> Does anyone else think the generic init should to be able to satisfy >> `ExpressibleByArrayLiteral` (especially since `UInt` meets the conformance >> requirements)? >> > > Your type needs to be generic. > > > It already is… I just don’t want to restrict it to being initialized from > array literals containing that same generic type. > Not sure of your particular use case, but it sounds like you'd want to write a type-erased AnyFixedWidthUnsignedInteger wrapper.
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
