// 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<m>() -> (m, m -> m) -> m {
e c e.i = {
}
{
m) {
n  }
}
protocol f {
}
class e: f{  class func i {}
func n<j>() -> (j, j -> j) -> j {
}
protocol k {
}
struct e<j : k> {n: j
}
class A {
class func a() -> String {
}
class func b() {
struct c {
static let d: String = {
}()
}
}
}
func f<r>() -> (r, r -> r) -> r {
f r f.j = {
}
{
r) {
s  }
}
protocol f {
class }
}
}
protocol P {
}
class k<f>: NSObject {
g(e: f) {
}
}
protocol i : d { func d
