mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
The original bug was a crash-on-invalid with a missing '}', but it actually exposed a bug with nested protocols (SE-0404) and another long-time bug. - Whatever we do, we should skip this for protocols because their 'Self' parameter is not bound from context. - getTrailingWhereClause() is not the right proxy for "has a generic signature different than its parent", in particular it doesn't round-trip through serialization. Instead, just compare generic signatures for pointer equality in the early return check. The second change is source-breaking because it was possible to write a nested type with a `where` clause and use it contradicting its requirements across a module boundary. Fixes rdar://113103854.
4.2 KiB
4.2 KiB