> On Oct 5, 2015, at 19:19 , Jens Alfke <j...@mooseyard.com> wrote: > > >> On Oct 5, 2015, at 6:59 PM, Rick Mann <rm...@latencyzero.com> wrote: >> >> Huh. I continue to be bothered by the ambiguity/variability of "let"*. Is >> the reference immutable or the thing it points to? > > A variable (var or let) doesn’t “point to” a struct. It _contains_ the > struct. I.e. it’s a value, not a reference. > > It’s just like in C or C++, really. Given a struct Foo, > const Foo x; // a value: x is immutable; you can’t change its fields > Foo* const x; // a reference: the variable x can’t be changed, but the > Foo it points to can > > The thing Swift doesn’t have that C/C++ do is > const Foo *x; // the Foo can’t be changed through this reference > (though the value of x can) > The reason this was left out is probably that it doesn’t fit at all with > Objective-C and the Cocoa frameworks, which have no concept of a constant > reference to an NSObject.
In all this discussion, I forgot to bring up the containers: are they special? A "let" container can't be reassigned, nor can its contents be changed. How is this implemented? -- Rick Mann rm...@latencyzero.com _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com