Commits

Chris Lattner committed cb8a65e8317
Clean up the semantics of 'let' properties in a number of ways: - We switch to a model where let properties may be "initialized", but never reassigned. Specifically, immutable properties in structs/classes may have an init value specified in their declaration (but can then never be reset in any init implementation) or not (in which case they must be initialized exactly once on all paths through every init. This makes a lot more sense for immutability, defines several problems away, and provides a path to supporting things like (rdar://16181314) - We now *never* default initialize an immutable property. Formerly we would default initialize optional let properties to nil, but this isn't actually useful, and allows an error of omission with let properties. This resolves: <rdar://problem/19035287> let properties should only be initializable, not reassignable and possibly other radars. Swift SVN r23779