[swift-evolution] Should we rename "class" when referring to protocol conformance?

Dave Abrahams dabrahams at apple.com
Sat May 7 16:12:25 CDT 2016


on Sat May 07 2016, Tyler Fleming Cloutier <cloutiertyler-AT-aol.com> wrote:

>         That is a drastic solution indeed! How would this impact things like
>         Array<UIView>? While Array itself has value semantics, the aggregate
>         obviously does not as it contains references which usually be mutated
>         underneath us. 
>
>     Value semantics and mutation can only be measured with respect to
>     equality. The definition of == for all class types would be equivalent
>     to ===. Problem solved.
>
> Hmm, I get the feeling that I was arguing your own point back at you. Sorry,
> Dave, I’m a little slow. :)
>
> Still, how would you generate an equality operator for a data structure that
> requires wrapper classes currently, like a LinkedList?

I don't think I understand the question.  Maybe you should show me the
specific LinkedList you're interested in.  When you say “generate,” do
you mean automatically?

FWIWs:

1. I don't intend to make every == operator automatically-generated

2. A LinkedList can be defined using enums and no classes

3. Though it can be done, I am of the opinion that linked lists usually
   make poor value types.

-- 
-Dave


More information about the swift-evolution mailing list