| // 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 |
| func f<l>() -> (l, l -> l) -> l { |
| l j l.n = { |
| } |
| { |
| l) { |
| n } |
| } |
| protocol f { |
| } |
| class l: f{ class func n {} |
| func a<i>() { |
| b b { |
| } |
| } |
| class a<f : b, l : b m f.l == l> { |
| } |
| protocol b { |
| } |
| struct j<n : b> : b { |
| } |
| typealias |
| d = i |
| } |
| class d<j : i, f : i where j.i == f> : e { |
| } |
| class d<j, f> { |
| } |
| protocol i { |
| } |
| protocol e { |
| } |
| protocol i : d { |