Commits

Doug Gregor committed 3daae5b5612
Serialize cross-references to constrained extensions with a generic signature. Extensions cannot be uniquely cross-referenced, so cross-references to extensions are serialized with the extended nominal type name and the module in which the extension resides. This is not sufficient when cross-referencing the generic type parameters of a constrained protocol extension, because we don't know whether to get the archetypes of the nominal type or some extension thereof. Serialize the canonical generic signature so that we can pick an extension with the same generic signature; it doesn't matter which we pick, so long as we're consistent. Fixes rdar://problem/20680169. Triggering this involves some interesting interactions between the optimizer and standard library; the standard library updates in the radar will test this. Swift SVN r27825