| // 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 -typecheck |
| class x<ji>: y { |
| init(u: ji) { |
| kj. y { |
| b r = ji: v -> v = { |
| } |
| ih y: v = { fe, b cb |
| }(u, n) |
| } |
| class y { |
| func kj<r where r: dc, r: y>(kj: r) { |
| } |
| func ed(x: b) -> <r>(() -> r) -> b { |
| } |
| class r { |
| func w((gf, r))(dc: (gf, fe)) { |
| } |
| } |
| func y(r: () -> ()) { |
| } |
| class dc { |
| kj _ = y() { |
| } |
| } |
| func dc<ed>() -> (ed, ed -> ed) -> ed { |
| kj w r ih<r : kj, w: kj fe w.n == r.n> { |
| } |
| w kj { |
| } |
| w r<ed> { |
| } |
| w n { |
| } |
| class kj { |
| func ih() -> dc { |
| } |
| } |
| class y: kj, n { |
| } |
| func b<fe { |
| b b { |
| } |
| } |
| } |
| class y<r : ed, u : ed where r.ed == u> : n { |
| } |
| class y<r, u> { |
| } |
| protocol ed { |
| } |
| protocol n { |
| } |
| protocol ed : y { func y |