Commits

Doug Gregor committed 737a1fff99e
Implement support in the constraint system for unresolved member expressions like ".none", which refer to a oneof member of unknown type. Such expressions are strange, because the expression ".foo" can either have the type T0 or the type T1 -> T0, where T0 is the oneof type (which is unknown) and T1 is a fresh type variable. The choice depends on whether the named member ends up having unit type or not, because the usage of the two varies: .none requires no applications to be useful but .value('a') does require the application to be useful. Model this as a new kind of overload set in the constraint system, because it can't be expressed without the disjunction provided by overload sets. Swift SVN r2804