mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Recursive concrete and superclass constraints are detected per-equivalence-class; record them that way. Use that information to drop recursive concrete and superclass constraints from the resulting signature, which frees the canonical generic signature builder from having to worry about such recursive constraints. This eliminates the invalid-code crashes introduced in the prior commit that disabled finalization for the canonical GSBs, as well as fixing one other random crash-on-invalid.
10 lines
452 B
Swift
10 lines
452 B
Swift
// This source file is part of the Swift.org open source project
|
|
// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
|
|
// Licensed under Apache License v2.0 with Runtime Library Exception
|
|
//
|
|
// See https://swift.org/LICENSE.txt for license information
|
|
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
|
|
|
|
// RUN: not %target-swift-frontend %s -emit-ir
|
|
protocol P{typealias e:P}extension P{{}typealias e:Self
|