| // 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 |
| struct j<l : o> { |
| k b: l |
| } |
| func a<l>() -> [j<l>] { |
| return [] |
| } |
| f |
| k) |
| func f<l>() -> (l, l -> l) -> l { |
| l j l.n = { |
| } |
| { |
| l) { |
| n } |
| } |
| protocol f { |
| class func n() |
| } |
| class l: f{ class func n {} |
| func a<i>() { |
| b b { |
| l j |
| } |
| } |
| class a<f : b, l : b m f.l == l> { |
| } |
| protocol b { |
| typealias l |
| typealias k |
| } |
| struct j<n : b> : b { |
| typealias l = n |
| typealias k = a<j<n>, l> |
| } |