An AnyValue protocol seems long overdue. I'm not sure how useful AnyEnum would be, though I support the idea since it could become useful in the future.
------------ Begin Message ------------ Group: gmane.comp.lang.swift.evolution MsgID: <etpan.5728ea0f.6ac6505c.f...@devandartist.fritz.box> I’d love to see Swift go in this direction with protocols: +-------+ | Any | +---+---+ | +-------------+-------------+ | | +------+-------+ +-----+----+ | AnyReference | | AnyValue | +------+-------+ +-----+----+ | | +--------+---------+ .................................... | AnyObject (ObjC) | : Optionally Swift could also have : +------------------+ : | : : +-------+--------+ : : | | : : +----+----+ +-----+-----+ : : | AnyEnum | | AnyStruct | : : +----+----+ +-----+-----+ : .................................... -- Adrian Zubarev Sent with Airmail Am 3. Mai 2016 bei 18:42:15, Adrian Zubarev via swift-evolution (swift-evolution-m3fhrko0vlzytjvyw6y...@public.gmane.org) schrieb: +1 Yes please, get rid of the `class` keyword from protocols already and replace it with better implicit protocols. I posted the idea two weeks ago, but no one answered to it: https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160418/015568.html Replacing `class` with something like `protocol AnyReference` is the first step to add a few more implicit protocols like `AnyValue` to Swift. We could build value or reference type specific libraries and overload correctly. -- Adrian Zubarev Am 2. Mai 2016 um 15:55:15, David Sweeris via swift-evolution (swift-evolution-m3fhrko0vlzytjvyw6y...@public.gmane.org) schrieb: I was just thinking that: protocol Foo : reference {} might be more to the point than: protocol Foo : class {} I know that it’s currently a moot point because classes are the only* reference-semantics type of type in Swift, but it’s conceivable that there might some day be others. Anyway, I’m not saying it’s a big deal or anything, I’m just trying to think of any source-breaking changes we might want to make before Swift 3 drops, and this seems like an easy one. - Dave Sweeris * I’m not actually sure this is true. I have a very vague recollection about some protocols getting reference semantics in certain circumstances, but the memory is so hazy I’m not sure I trust it. Also I can’t remember if the “indirect” keyword in enums affects the semantics. _______________________________________________ swift-evolution mailing list swift-evolution-m3fhrko0vlzytjvyw6y...@public.gmane.org https://lists.swift.org/mailman/listinfo/swift-evolution _______________________________________________ swift-evolution mailing list swift-evolution-m3fhrko0vlzytjvyw6y...@public.gmane.org https://lists.swift.org/mailman/listinfo/swift-evolution ------------- End Message ------------- From James F _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution