mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
We were putting conformance requirements on the representative of the equivalence class, rather than directly on the potential archetype on which the conformance requirement was specified. This violates the invariant used when forming protocol-requirement sources that we never reseat a requirement onto the representative (which would have become a problem when implementing recursive protocol constreaints) as well as masking a GSB idempotency issue that comes from same-type requirements where the right-hand side was not guaranteed to refer to the archetype anchor *within* that subcomponent.
10 lines
466 B
Swift
10 lines
466 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
|
|
class a=protocol P{{}typealias e:P}}extension P{func a{}typealias e:a
|