Commits

Chris Lattner committed 33fc37d8312
Fix rdar://20477982 - REGRESSION: Accessing let-property with default value in init() can throw spurious error: 'self' used before all stored properties are initialized in Xcode 6.4 I changed the compiler to start treating properties as rvalues in initializers when they have an initializer since they cannot be overwritten in the initializer. This has the unfortunate effect of typing derived member_refs as rvalues as well, which causes SILGen to load the entire 'self' value instead of just the member, triggering invalid DI errors in cases like this. Fix this by always treating properties on self as lvalues in initializers. Invalid reassignments are already diagnosed by DI anyway, and the QoI of the error is better from DI than from Sema (as shown by the testsuite change). Swift SVN r27721