Agreed, AnyObject seems like all we need to limit protocols to reference types.
------------ Begin Message ------------ Group: gmane.comp.lang.swift.evolution MsgID: <m2mvo7ow1s....@fripp.apple.com> on Mon May 02 2016, David Sweeris <swift-evolution@swift.org> wrote: > 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. Personally I have always felt “classâ€� was an oddball special case here that's unneeded because we have a perfectly good protocol that means the same thing: AnyObject. -- Dave _______________________________________________ swift-evolution mailing list swift-evolution@swift.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